-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Bindings to the Vulkan graphics API. -- -- Bindings to the Vulkan graphics API. @package vulkan @version 3.8.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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. -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- -- 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: -- -- -- -- Additionally, this extension provides access to the new SPIR-V -- instructions: -- -- -- -- 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: -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- -- This extension provides new SPIR-V instructions: -- -- -- -- 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: -- -- -- -- 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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 type GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION :: forall a. Integral a => a type GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a -- |

Name

-- -- VK_GOOGLE_user_type - device extension -- --

VK_GOOGLE_user_type

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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: -- -- -- --

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’s 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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension allows the use of the -- SPV_KHR_non_semantic_info extension in SPIR-V shader modules. -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. 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 doesn’t -- need any other API changes.
  2. --
-- -- 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 -- don’t need accompanying changes generically, we’ll still end up -- writing extensions specific to each version for the remaining parts. -- Thus the generic mechanism won’t reduce future spec-writing effort. In -- addition, making it clear which parts of a future version are -- supported by the generic mechanism and which can’t be used without -- specific support would be difficult to get right ahead of time. -- --
    --
  1. Can different stages of the same pipeline use shaders with -- different SPIR-V versions?
  2. --
-- -- 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. -- --
    --
  1. 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?
  2. --
-- -- 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 doesn’t 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 doesn’t need to enable -- VK_KHR_shader_float_controls. However, if it doesn’t 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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 don't
--       // loop over three vertices or call EmitVertex().
--       gl_Layer = compute_layer();
--   }
--   
-- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- -- 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

-- -- -- --

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 type NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION :: forall a. Integral a => a type NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a -- |

Name

-- -- VK_QCOM_render_pass_shader_resolve - device extension -- --

VK_QCOM_render_pass_shader_resolve

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 -- renderpass? -- -- 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

-- -- -- -- -- --

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 -- |

Name

-- -- VK_QCOM_render_pass_store_ops - device extension -- --

VK_QCOM_render_pass_store_ops

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- Renderpass attachments can be read-only for the duration of a -- renderpass. -- -- 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 which specifies 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

-- -- -- -- -- --

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 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 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_VERSION :: Word32 -> Word32 -> Word32 -> Word32 _VERSION_MAJOR :: Word32 -> Word32 _VERSION_MINOR :: Word32 -> Word32 _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 - Enum specifying whether, and how, -- shader float controls can be set separately -- --

See Also

-- -- 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

-- -- 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 monotonically 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

-- -- 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

-- -- 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 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

-- -- 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

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- 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: -- -- -- -- These rules reflect the mapping of channels after the channel swizzle -- operation (controlled by -- SamplerYcbcrConversionCreateInfo::components). -- -- Note -- -- For example, an “YUVA” 32-bit format comprising four 8-bit channels -- can be implemented as FORMAT_R8G8B8A8_UNORM with a component -- mapping: -- -- -- --

See Also

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- 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

-- -- 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

-- -- 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

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- 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

-- -- VertexInputBindingDescription 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

-- -- No cross-references are available 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: -- -- -- --

See Also

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 type EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 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.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 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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 caller’s 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

-- -- -- -- -- --

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

-- -- 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

-- -- DeviceQueueGlobalPriorityCreateInfoEXT 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_global_priority.DeviceQueueGlobalPriorityCreateInfoEXT 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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 -- --

Members

-- -- The members of the PhysicalDeviceShaderCorePropertiesAMD -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceShaderCorePropertiesAMD structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 buffers). 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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: -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD 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.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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- 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

-- -- DisplayPlaneCapabilitiesKHR, Rect2D, RectLayerKHR 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

-- -- 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

-- -- DisplayModeParametersKHR, DisplayPlaneCapabilitiesKHR, -- DisplayPropertiesKHR, DisplaySurfaceCreateInfoKHR, -- FragmentShadingRateAttachmentInfoKHR, -- MultisamplePropertiesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, Rect2D, -- RectLayerKHR, SampleLocationsInfoEXT, -- SurfaceCapabilities2EXT, SurfaceCapabilitiesKHR, -- SwapchainCreateInfoKHR, cmdSetFragmentShadingRateKHR, -- 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

-- -- 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

-- -- BindImageMemoryDeviceGroupInfo, ClearRect, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- DeviceGroupRenderPassBeginInfo, DisplayPresentInfoKHR, -- Extent2D, Offset2D, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportStateCreateInfo, RenderPassBeginInfo, -- 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 (integer 1) value, and -- FALSE a boolean False (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

-- -- AccelerationStructureGeometryInstancesDataKHR, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DescriptorSetLayoutSupport, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPresentInfoKHR, DisplayPropertiesKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- IndirectCommandsLayoutTokenNV, -- MemoryDedicatedRequirements, -- PerformanceOverrideInfoINTEL, PerformanceValueDataINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceFeatures, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceLimits, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceSparseProperties, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendAttachmentState, -- PipelineColorBlendStateCreateInfo, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineDepthStencilStateCreateInfo, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutableStatisticValueKHR, -- PipelineInputAssemblyStateCreateInfo, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- ProtectedSubmitInfo, SamplerCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceProtectedCapabilitiesKHR, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- cmdBuildAccelerationStructureNV, -- cmdExecuteGeneratedCommandsNV, -- cmdSetDepthBoundsTestEnableEXT, -- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT, -- cmdSetStencilTestEnableEXT, -- getPhysicalDeviceSurfaceSupportKHR, setLocalDimmingAMD, -- waitForFences newtype Bool32 Bool32 :: Int32 -> Bool32 pattern FALSE :: Bool32 pattern TRUE :: Bool32 -- | VkSampleMask - Mask of sample coverage information -- --

See Also

-- -- 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 Vk*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 Vk*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: -- -- -- -- Any Vk*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

-- -- ColorComponentFlags type Flags = Word32 -- | VkDeviceSize - Vulkan device memory size and offsets -- --

See Also

-- -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AndroidHardwareBufferPropertiesANDROID, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryInfo, BindImageMemoryInfo, -- BufferCopy, BufferCopy2KHR, BufferCreateInfo, -- BufferImageCopy, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferViewCreateInfo, -- ConditionalRenderingBeginInfoEXT, DescriptorBufferInfo, -- DeviceMemoryReportCallbackDataEXT, -- GeneratedCommandsInfoNV, GeometryAABBNV, -- GeometryTrianglesNV, ImageFormatProperties, -- ImageViewAddressPropertiesNVX, IndirectCommandsStreamNV, -- MappedMemoryRange, MemoryAllocateInfo, -- MemoryHeap, MemoryRequirements, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceLimits, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceVulkan11Properties, SparseImageMemoryBind, -- SparseImageMemoryRequirements, SparseMemoryBind, -- StridedDeviceAddressRegionKHR, SubresourceLayout, -- 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, -- cmdWriteBufferMarkerAMD, getDeviceMemoryCommitment, -- getQueryPoolResults, mapMemory type DeviceSize = Word64 -- | VkDeviceAddress - Vulkan device address type -- --

See Also

-- -- AccelerationStructureCreateInfoKHR, -- BindIndexBufferIndirectCommandNV, -- BindVertexBufferIndirectCommandNV, -- BufferDeviceAddressCreateInfoEXT, -- DeviceOrHostAddressConstKHR, DeviceOrHostAddressKHR, -- ImageViewAddressPropertiesNVX, -- StridedDeviceAddressRegionKHR, -- cmdBuildAccelerationStructuresIndirectKHR, -- cmdTraceRaysIndirectKHR type DeviceAddress = Word64 -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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.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.Classes.Eq Vulkan.Core10.FundamentalTypes.Extent3D instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Extent2D instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Offset3D instance GHC.Classes.Eq Vulkan.Core10.FundamentalTypes.Offset2D 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 cubemap 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 cubemap 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 doesn’t 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 cubemap. In this example, the application -- would attach a cubemap 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 cubemap -- 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 doesn't project onto this face, we're 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: -- --
    --
  1. 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.
  2. --
  3. 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 -- doesn’t mess up depth testing by programming the depth range to very -- large values, such as minDepthBounds=-z, -- maxDepthBounds=+z, where z =
  4. --
  5. 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.
  6. --
  7. 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.
  8. --
-- --

Version History

-- -- -- --

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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_viewport_swizzle.ViewportSwizzleNV 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 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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. What should we call this extension?RESOLVED: Using -- NV_shader_sm_builtins. Other options considered -- included:
  2. --
-- --

Version History

-- -- -- --

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 -- --

Members

-- -- The members of the PhysicalDeviceShaderSMBuiltinsPropertiesNV -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceShaderSMBuiltinsPropertiesNV structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceShaderSMBuiltinsFeaturesNV -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceShaderSMBuiltinsFeaturesNV structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceShaderSMBuiltinsFeaturesNV can also be -- included in the pNext chain of DeviceCreateInfo to -- enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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.PhysicalDeviceShaderSMBuiltinsFeaturesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. 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?
  2. --
-- -- 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);
--   
-- --
    --
  1. What should an application do to ensure maximum performance when -- accumulating footprints into an aggregate footprint image?
  2. --
-- -- 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: -- -- -- --

Examples

-- -- TBD -- --

Version History

-- -- -- -- -- --

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 -- --

Description

-- -- See Texel Footprint Evaluation for more information. -- -- If the PhysicalDeviceShaderImageFootprintFeaturesNV structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceShaderImageFootprintFeaturesNV can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. Is the representative fragment test guaranteed to have any -- effect?
  2. --
-- -- 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 don’t -- 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. -- --
    --
  1. Will the set of fragments that pass the representative fragment -- test be repeatable if you draw the same scene over and over -- again?
  2. --
-- -- 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. -- --
    --
  1. What happens if you enable the representative fragment test with -- writes to color and/or depth render targets enabled?
  2. --
-- -- 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 don’t expect color or depth writes to be enabled. -- --
    --
  1. How do derivatives and automatic texture level of detail -- computations work with the representative fragment test enabled?
  2. --
-- -- 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 don’t expect the use of derivatives in the -- fragment shader. -- --

Version History

-- -- -- -- -- --

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

-- -- The members of the -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceRepresentativeFragmentTestFeaturesNV -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV can -- also be included in the pNext chain of -- DeviceCreateInfo to enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 present, -- representativeFragmentTestEnable is considered to be -- FALSE, and the representative fragment test is disabled. -- -- If early fragment tests are not enabled in the active fragment -- shader, the representative fragment shader test has no effect, even if -- enabled. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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.PipelineRepresentativeFragmentTestStateCreateInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

New Structures

-- -- -- --

New Enums

-- -- -- --

New Bitmasks

-- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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: -- -- -- -- 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: -- -- -- -- 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 present, 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- PipelineCoverageModulationStateCreateInfoNV newtype PipelineCoverageModulationStateCreateFlagsNV PipelineCoverageModulationStateCreateFlagsNV :: Flags -> PipelineCoverageModulationStateCreateFlagsNV -- | VkCoverageModulationModeNV - Specify the coverage modulation mode -- --

See Also

-- -- 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 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 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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- When using GLSL source-based shader languages, the following variables -- from GL_NV_fragment_shader_barycentric maps to these SPIR-V -- built-in decorations: -- -- -- -- 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

-- --
    --
  1. The AMD_shader_explicit_vertex_parameter extension provides -- similar functionality. Why write a new extension, and how is this -- extension different?
  2. --
-- -- 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. -- --
    --
  1. 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?
  2. --
-- -- 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’s 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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV structure -- describe the following features: -- --

Description

-- -- See Barycentric Interpolation for more information. -- -- If the PhysicalDeviceFragmentShaderBarycentricFeaturesNV -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV can -- also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 present, it is as if -- coverageToColorEnable is FALSE. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceDiagnosticsConfigFeaturesNV -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceDiagnosticsConfigFeaturesNV structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceDiagnosticsConfigFeaturesNV can also be -- used in the pNext chain of DeviceCreateInfo to enable -- the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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.DeviceDiagnosticsConfigCreateInfoNV 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.PhysicalDeviceDiagnosticsConfigFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV -- can also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. 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.
  2. --
-- --
    --
  1. 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 cubemaps or depth-stencil formats. -- A format feature might be useful if other vendors would only support -- this on some formats.
  2. --
  3. Do integer texel coordinates have a different range for -- corner-sampled images?RESOLVED: No, these are unchanged.
  4. --
  5. Do unnormalized sampler coordinates work with corner-sampled -- images? Are there any functional differences?RESOLVED: Yes they work. -- Unnormalized coordinates are treated as already scaled for -- corner-sample usage.
  6. --
  7. Should we have a diagram in the “Image Operations” chapter -- demonstrating different texel sampling locations?UNRESOLVED: Probaby, -- but later.
  8. --
-- --

Version History

-- -- -- -- -- --

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

-- -- The members of the PhysicalDeviceCornerSampledImageFeaturesNV -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceCornerSampledImageFeaturesNV structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceCornerSampledImageFeaturesNV can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. 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?
  2. --
-- -- RESOLVED: Yes. -- --

Examples

-- -- None. -- --

Version History

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceComputeShaderDerivativesFeaturesNV structure -- describe the following features: -- --

Description

-- -- See -- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-scope-quad -- chapter for more information. -- -- If the PhysicalDeviceComputeShaderDerivativesFeaturesNV -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceComputeShaderDerivativesFeaturesNV can -- also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 vertex processing 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 vertex -- processing 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

-- -- -- --

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 -- --

Members

-- -- The members of the -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_surface_protected_capabilities - instance extension -- --

VK_KHR_surface_protected_capabilities

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR structure -- describe the following feature: -- --

Description

-- -- If the PhysicalDeviceShaderTerminateInvocationFeaturesKHR -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with a value indicating -- whether the feature is supported. -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR can -- also be included in the pNext chain of -- DeviceCreateInfo to enable the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_clock - device extension -- --

VK_KHR_shader_clock

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Description

-- -- If the PhysicalDeviceShaderClockFeaturesKHR structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceShaderClockFeaturesKHR can also be included in -- the pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. 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?
  2. --
-- -- -- --

Version History

-- -- -- --

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

-- -- The members of the PhysicalDeviceRayQueryFeaturesKHR structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceRayQueryFeaturesKHR structure is included -- in the pNext chain of PhysicalDeviceFeatures2, it is -- filled with values indicating whether the feature is supported. -- PhysicalDeviceRayQueryFeaturesKHR can also be used in -- the pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_portability_subset - device extension -- --

VK_KHR_portability_subset

-- -- -- -- -- -- This 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

-- -- -- --

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

-- -- The members of the PhysicalDevicePortabilitySubsetFeaturesKHR -- structure describe the following features: -- --

Description

-- -- If the PhysicalDevicePortabilitySubsetFeaturesKHR structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the features are supported. -- PhysicalDevicePortabilitySubsetFeaturesKHR can also be -- used in the pNext chain of DeviceCreateInfo to enable -- the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDevicePortabilitySubsetPropertiesKHR -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDevicePortabilitySubsetPropertiesKHR structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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. [$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.PhysicalDevicePortabilitySubsetPropertiesKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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. -- --

Version History

-- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- --

See Also

-- -- 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. [$sel:rectangles:PresentRegionKHR] :: PresentRegionKHR -> Vector RectLayerKHR -- | VkRectLayerKHR - Structure containing a rectangle, including layer, -- changed by vkQueuePresentKHR for a given VkImage -- --

Valid Usage

-- -- -- -- -- -- 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. -- --

See Also

-- -- 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 = 1 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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_functions 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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL can -- also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceYcbcrImageArraysFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceYcbcrImageArraysFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceYcbcrImageArraysFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_vertex_attribute_divisor - device extension -- --

VK_EXT_vertex_attribute_divisor

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- 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

-- -- StructureType, VertexInputBindingDivisorDescriptionEXT data PipelineVertexInputDivisorStateCreateInfoEXT PipelineVertexInputDivisorStateCreateInfoEXT :: Vector VertexInputBindingDivisorDescriptionEXT -> PipelineVertexInputDivisorStateCreateInfoEXT -- | pVertexBindingDivisors is a pointer to an array of -- VertexInputBindingDivisorDescriptionEXT structures, which -- specifies 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 -- --

Members

-- -- The members of the -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceVertexAttributeDivisorPropertiesEXT -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Description

-- -- If the PhysicalDeviceVertexAttributeDivisorFeaturesEXT -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- the implementation-dependent behavior. -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT can also -- be included in pNext chain of DeviceCreateInfo to -- enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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.PhysicalDeviceVertexAttributeDivisorFeaturesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.VertexInputBindingDivisorDescriptionEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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’s 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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT can -- also be included in the pNext chain of createDevice to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension adds more expressive alignment requirements for uniform -- and storage texel buffers. Some implementations have single texel -- alignment requirements that can’t be expressed via -- PhysicalDeviceLimits::minTexelBufferOffsetAlignment. -- --

New Structures

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceTexelBufferAlignmentFeaturesEXT structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT can also -- be included in the pNext chain of DeviceCreateInfo to -- enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceTexelBufferAlignmentPropertiesEXT -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- -- 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

-- -- 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. [$sel:storageTexelBufferOffsetAlignmentBytes:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> DeviceSize -- | storageTexelBufferOffsetSingleTexelAlignment indicates -- whether single texel alignment is sufficient for a storage texel -- buffer of any format. [$sel:storageTexelBufferOffsetSingleTexelAlignment:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> Bool -- | uniformTexelBufferOffsetAlignmentBytes is a byte alignment -- that is sufficient for a uniform texel buffer of any format. [$sel:uniformTexelBufferOffsetAlignmentBytes:PhysicalDeviceTexelBufferAlignmentPropertiesEXT] :: PhysicalDeviceTexelBufferAlignmentPropertiesEXT -> DeviceSize -- | uniformTexelBufferOffsetSingleTexelAlignment indicates -- whether single texel alignment is sufficient for a uniform texel -- buffer of any format. [$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.PhysicalDeviceTexelBufferAlignmentPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT -- can also be included in the pNext chain of -- DeviceCreateInfo to enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_float - device extension -- --

VK_EXT_shader_atomic_float

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 don’t -- rely on robustness. -- --

New Structures

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

Issues

-- --
    --
  1. Why do -- PhysicalDeviceRobustness2PropertiesEXT::robustUniformBufferAccessSizeAlignment -- and -- PhysicalDeviceRobustness2PropertiesEXT::robustStorageBufferAccessSizeAlignment -- exist?
  2. --
-- -- RESOLVED: Some implementations can’t 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

-- -- -- --

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

-- -- The members of the PhysicalDeviceRobustness2FeaturesEXT -- structure describe the following features: -- --

Description

-- -- -- -- -- -- If the PhysicalDeviceRobustness2FeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceRobustness2PropertiesEXT -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceRobustness2PropertiesEXT structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 is 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 is 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.PhysicalDeviceRobustness2PropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT 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_pipeline_creation_feedback - device extension -- --

VK_EXT_pipeline_creation_feedback

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackEXT 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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 Enum Constants

-- -- -- -- -- --

Version History

-- -- -- -- -- --

See Also

-- -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT -- --

Document Notes

-- -- For more information, see the 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

-- -- The members of the -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT structure -- describe the following features: -- --

Description

-- -- If the PhysicalDevicePipelineCreationCacheControlFeaturesEXT -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT -- can also be used in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- Bool32, StructureType data PhysicalDevicePipelineCreationCacheControlFeaturesEXT PhysicalDevicePipelineCreationCacheControlFeaturesEXT :: Bool -> PhysicalDevicePipelineCreationCacheControlFeaturesEXT -- | pipelineCreationCacheControl indicates that the -- implementation supports: -- -- [$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_memory_priority - device extension -- --

VK_EXT_memory_priority

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceMemoryPriorityFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceMemoryPriorityFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceMemoryPriorityFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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.MemoryPriorityAllocateInfoEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 draw or -- dispatch commands and may enable uniform data to be accessed -- with less 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

-- -- -- --

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

-- -- The members of the PhysicalDeviceInlineUniformBlockFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceInlineUniformBlockFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceInlineUniformBlockFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceInlineUniformBlockPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceInlineUniformBlockPropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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.DescriptorPoolInlineUniformBlockCreateInfoEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension allows uint8_t indices to be used with -- cmdBindIndexBuffer. -- --

New Structures

-- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- The members of the PhysicalDeviceIndexTypeUint8FeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceIndexTypeUint8FeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceIndexTypeUint8FeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_robustness - device extension -- --

VK_EXT_image_robustness

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. How does this extension differ from VK_EXT_robustness2?
  2. --
-- -- 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

-- -- -- --

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

-- -- The members of the PhysicalDeviceImageRobustnessFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceImageRobustnessFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceFragmentShaderInterlockFeaturesEXT -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT can -- also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- The members of the PhysicalDeviceFragmentDensityMap2FeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceFragmentDensityMap2FeaturesEXT structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceFragmentDensityMap2FeaturesEXT can also be -- included in pNext chain of DeviceCreateInfo to enable -- the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceFragmentDensityMap2PropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Valid Usage (Implicit)

-- -- If the PhysicalDeviceFragmentDensityMap2PropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits and properties. -- --

See Also

-- -- 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.PhysicalDeviceFragmentDensityMap2PropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceDepthClipEnableFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceDepthClipEnableFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceDepthClipEnableFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable this feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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.PipelineRasterizationDepthClipStateCreateInfoEXT 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.PhysicalDeviceDepthClipEnableFeaturesEXT 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_conservative_rasterization - device extension -- --

VK_EXT_conservative_rasterization

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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 -- --

Members

-- -- The members of the -- PhysicalDeviceConservativeRasterizationPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceConservativeRasterizationPropertiesEXT -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits and properties. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 which specifies 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. When supported the -- SampleMask built-in input variable will reflect the coverage -- after the early per-fragment depth and stencil tests are applied even -- when conservative rasterization is enabled. Otherwise -- 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

-- -- 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

-- -- PipelineRasterizationConservativeStateCreateInfoEXT newtype PipelineRasterizationConservativeStateCreateFlagsEXT PipelineRasterizationConservativeStateCreateFlagsEXT :: Flags -> PipelineRasterizationConservativeStateCreateFlagsEXT -- | VkConservativeRasterizationModeEXT - Specify the conservative -- rasterization mode -- --

See Also

-- -- 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.PipelineRasterizationConservativeStateCreateInfoEXT 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- The members of the -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceBlendOperationAdvancedFeaturesEXT -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT can also -- be included in the pNext chain of DeviceCreateInfo to -- enable the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceBlendOperationAdvancedPropertiesEXT -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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.PipelineColorBlendAdvancedStateCreateInfoEXT 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.PhysicalDeviceBlendOperationAdvancedPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDevice4444FormatsFeaturesEXT -- structure describe the following features: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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_AMD_texture_gather_bias_lod - device extension -- --

VK_AMD_texture_gather_bias_lod

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Members

-- -- The members of the PhysicalDeviceShaderCoreProperties2AMD -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceShaderCoreProperties2AMD structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension introduces PipelineCompilerControlCreateInfoAMD -- structure that can be chained to a pipeline’s create info to specify -- additional flags that affect pipeline compilation. -- --

New Structures

-- -- -- --

New Enums

-- -- -- --

New Bitmasks

-- -- -- --

New Enum Constants

-- -- -- -- -- --

Issues

-- -- None. -- --

Examples

-- -- None. -- --

Version History

-- -- -- --

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

-- -- 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

-- -- 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 GHC.Classes.Eq Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceCoherentMemoryFeaturesAMD -- structure describe the following features: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- The members of the -- PhysicalDeviceUniformBufferStandardLayoutFeatures structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceUniformBufferStandardLayoutFeatures -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceUniformBufferStandardLayoutFeatures can -- also be included in the pNext chain of -- DeviceCreateInfo to enable this feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceShaderSubgroupExtendedTypesFeatures -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures can -- also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- Bool32, StructureType data PhysicalDeviceShaderSubgroupExtendedTypesFeatures PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: Bool -> PhysicalDeviceShaderSubgroupExtendedTypesFeatures -- | shaderSubgroupExtendedTypes is a boolean that specifies -- 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 scopeif the -- implementation supports the types. [$sel:shaderSubgroupExtendedTypes:PhysicalDeviceShaderSubgroupExtendedTypesFeatures] :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures -> Bool -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Members

-- -- The members of the PhysicalDeviceFloatControlsProperties -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceFloatControlsProperties structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkShaderFloatControlsIndependence - Enum specifying whether, and how, -- shader float controls can be set separately -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 apply? -- -- RESOLVED: No, only instructions listed in the 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 independently set, 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

-- -- -- -- -- --

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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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, 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, 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 and in the StorageBuffer, -- ShaderRecordBufferKHR, or PhysicalStorageBuffer -- storage class with the same 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceScalarBlockLayoutFeatures -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceScalarBlockLayoutFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceScalarBlockLayoutFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable this feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- 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

-- -- The members of the PhysicalDeviceVariablePointersFeatures -- structure describe the following features: -- --

Description

-- -- -- -- -- -- If the PhysicalDeviceVariablePointersFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceVariablePointersFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable the features. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

Description

-- -- If the PhysicalDeviceShaderDrawParametersFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with a value indicating -- whether the feature is supported. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- Bool32, StructureType data PhysicalDeviceShaderDrawParametersFeatures PhysicalDeviceShaderDrawParametersFeatures :: Bool -> PhysicalDeviceShaderDrawParametersFeatures -- | shaderDrawParameters specifies whether shader draw parameters -- are supported. [$sel:shaderDrawParameters:PhysicalDeviceShaderDrawParametersFeatures] :: PhysicalDeviceShaderDrawParametersFeatures -> Bool type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 and in the StorageBuffer, -- ShaderRecordBufferKHR, or PhysicalStorageBuffer -- storage class with the same 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 - Enum describing what group operations are -- supported with subgroup scope -- --

See Also

-- -- 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

-- -- 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 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

-- -- 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

-- -- 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

-- -- 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

-- -- ExternalSemaphoreHandleTypeFlags, -- ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- PhysicalDeviceExternalSemaphoreInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR 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 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 by 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 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkSemaphoreImportFlagBits - Bitmask specifying additional parameters -- of semaphore payload import -- --

Description

-- -- These bits have the following meanings: -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- ExternalMemoryHandleTypeFlags, ImportMemoryFdInfoKHR, -- ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, MemoryGetFdInfoKHR, -- MemoryGetWin32HandleInfoKHR, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalImageFormatInfo, -- getMemoryFdPropertiesKHR, -- getMemoryHostPointerPropertiesEXT, -- getMemoryWin32HandlePropertiesKHR 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 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_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

-- -- 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

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkFenceImportFlagBits - Bitmask specifying additional parameters of -- fence payload import -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- 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

-- -- SubpassDescriptionFlags newtype SubpassDescriptionFlagBits SubpassDescriptionFlagBits :: Flags -> 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 vertex processing 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 -- | 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- The members of the PhysicalDeviceSubgroupSizeControlFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceSubgroupSizeControlFeaturesEXT structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceSubgroupSizeControlFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable the feature. -- -- 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

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceSubgroupSizeControlPropertiesEXT structure -- describe the following properties: -- --

Description

-- -- If the PhysicalDeviceSubgroupSizeControlPropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- -- 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

-- -- 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

-- -- 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.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT 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 -- --

Members

-- -- The members of the PhysicalDeviceSubgroupProperties structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceSubgroupProperties structure is included -- in the pNext chain of PhysicalDeviceProperties2, it is -- filled with the implementation-dependent limits. -- -- If supportedOperations includes -- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subgroup-quad, -- subgroupSize must be greater than or equal to 4. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkSubgroupFeatureFlagBits - Enum describing what group operations are -- supported with subgroup scope -- --

See Also

-- -- 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.ShaderModuleCreateFlagBits type ShaderModuleCreateFlags = ShaderModuleCreateFlagBits newtype ShaderModuleCreateFlagBits ShaderModuleCreateFlagBits :: Flags -> ShaderModuleCreateFlagBits instance Data.Bits.FiniteBits Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance Data.Bits.Bits Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance Vulkan.Zero.Zero Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance Foreign.Storable.Storable Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance GHC.Classes.Ord Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance GHC.Classes.Eq Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance GHC.Show.Show Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits instance GHC.Read.Read Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlagBits 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

-- -- 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

-- -- 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

-- -- AttachmentDescription, AttachmentDescription2, -- 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 renderpass -- --

See Also

-- -- RenderPassCreateFlags newtype RenderPassCreateFlagBits RenderPassCreateFlagBits :: Flags -> RenderPassCreateFlagBits -- | RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM specifies that the -- created renderpass 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

-- -- QueueFlags newtype QueueFlagBits QueueFlagBits :: Flags -> QueueFlagBits pattern QUEUE_GRAPHICS_BIT :: QueueFlagBits pattern QUEUE_COMPUTE_BIT :: QueueFlagBits pattern QUEUE_TRANSFER_BIT :: QueueFlagBits pattern QUEUE_SPARSE_BINDING_BIT :: QueueFlagBits 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

-- -- 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 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. 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

-- -- 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

-- -- 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 vertex -- processing 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

-- -- 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: -- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 -- --

See Also

-- -- 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 stages in the first scope. pattern PIPELINE_STAGE_TOP_OF_PIPE_BIT :: PipelineStageFlagBits -- | PIPELINE_STAGE_DRAW_INDIRECT_BIT specifies the stage of the -- pipeline where Draw/DispatchIndirect/TraceRaysIndirect 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 stages 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 commands -- supported on the queue it is used with. pattern PIPELINE_STAGE_ALL_COMMANDS_BIT :: 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_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 pattern PIPELINE_STAGE_SHADING_RATE_IMAGE_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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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.PipelineDepthStencilStateCreateFlags -- | VkPipelineDepthStencilStateCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- PipelineDepthStencilStateCreateInfo newtype PipelineDepthStencilStateCreateFlags PipelineDepthStencilStateCreateFlags :: Flags -> PipelineDepthStencilStateCreateFlags instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance GHC.Show.Show Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags instance GHC.Read.Read Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags 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

-- -- 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_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_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.PipelineColorBlendStateCreateFlags -- | VkPipelineColorBlendStateCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- PipelineColorBlendStateCreateInfo newtype PipelineColorBlendStateCreateFlags PipelineColorBlendStateCreateFlags :: Flags -> PipelineColorBlendStateCreateFlags instance Data.Bits.FiniteBits Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance Data.Bits.Bits Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance Vulkan.Zero.Zero Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance Foreign.Storable.Storable Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance GHC.Classes.Ord Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance GHC.Classes.Eq Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance GHC.Show.Show Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags instance GHC.Read.Read Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags module Vulkan.Core10.Enums.PipelineCacheHeaderVersion -- | VkPipelineCacheHeaderVersion - Encode pipeline cache version -- --

See Also

-- -- 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

-- -- 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

-- -- 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_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

-- -- 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

-- -- 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_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_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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 info 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’s maybe doable for the extensions we know about, but not for ones -- we don’t. 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’d have to dynamically allocate the interception trampoline every -- time. That’s getting to be an unreasonably large amount of complexity -- and (possibly) overhead. -- -- We’re 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’s a real possibility we’ll 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’s 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 don’t 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 can’t just cast it away. Thus we can’t update the callback -- array inside the structure. In addition, we can’t drop this -- pNext chain either, so making a copy of this whole structure -- doesn’t 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 can’t 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

-- -- -- --

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

-- -- The members of the PhysicalDeviceDeviceMemoryReportFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceDeviceMemoryReportFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with a value indicating -- whether the feature is supported. -- PhysicalDeviceDeviceMemoryReportFeaturesEXT can also be -- used in the pNext chain of DeviceCreateInfo to enable -- the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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, -- 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 -- won’t ever exist. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 must be a valid DeviceSize value. [$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_IMPORT_EXT or -- DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT, -- objectType must be a valid ObjectType enum. [$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 must be a valid Vulkan handle of the type -- associated with objectType as defined in the VkObjectType -- and Vulkan Handle Relationship table. [$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 must correspond to one of the valid heaps -- from the PhysicalDeviceMemoryProperties structure. Otherwise, -- heapIndex is undefined. [$sel:heapIndex:DeviceMemoryReportCallbackDataEXT] :: DeviceMemoryReportCallbackDataEXT -> Word32 newtype DeviceMemoryReportFlagsEXT DeviceMemoryReportFlagsEXT :: Flags -> DeviceMemoryReportFlagsEXT -- | VkDeviceMemoryReportEventTypeEXT - Events that can occur on a device -- memory object -- --

See Also

-- -- 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

-- -- DeviceDeviceMemoryReportCreateInfoEXT type PFN_vkDeviceMemoryReportCallbackEXT = FunPtr FN_vkDeviceMemoryReportCallbackEXT type FN_vkDeviceMemoryReportCallbackEXT = ("pCallbackData" ::: Ptr DeviceMemoryReportCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO () type EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 1 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.DeviceMemoryReportCallbackDataEXT 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT 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

-- -- 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_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

-- -- 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

-- -- 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 -- -- -- -- 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

-- -- PipelineColorBlendStateCreateInfo 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 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

-- -- AllocationCallbacks type PFN_vkInternalAllocationNotification = FunPtr FN_vkInternalAllocationNotification type FN_vkInternalAllocationNotification = ("pUserData" ::: Ptr ()) -> CSize -> InternalAllocationType -> SystemAllocationScope -> IO () -- | PFN_vkInternalFreeNotification - Application-defined memory free -- notification function -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 -- --

Description

-- -- The exact image view type is partially implicit, based on the image’s -- type and sample count, as well as the view creation parameters as -- described in the image view compatibility table for -- createImageView. This table also shows which SPIR-V -- OpTypeImage Dim and Arrayed parameters -- correspond to each image view type. -- --

See Also

-- -- 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

-- -- 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

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

-- -- -- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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 optimal -- 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

-- -- AttachmentDescription, AttachmentDescription2, -- AttachmentDescriptionStencilLayout, AttachmentReference, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- DescriptorImageInfo, ImageCreateInfo, -- ImageMemoryBarrier, ResolveImageInfo2KHR, -- cmdBindShadingRateImageNV, cmdBlitImage, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyBufferToImage, cmdCopyImage, -- cmdCopyImageToBuffer, cmdResolveImage newtype ImageLayout ImageLayout :: Int32 -> ImageLayout -- | IMAGE_LAYOUT_UNDEFINED does not support device access. This -- layout must only be used as the initialLayout member -- of ImageCreateInfo or AttachmentDescription, or as the -- oldLayout in an image transition. When transitioning out of -- this layout, the contents of the memory are not guaranteed to be -- preserved. 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 bit 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 does not support device access. -- This layout must only be used as the initialLayout -- member of ImageCreateInfo or AttachmentDescription, or -- as the oldLayout in an image transition. When transitioning -- out of this layout, the contents of the memory are preserved. 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_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 pattern IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: 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

-- -- The members of the -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceSeparateDepthStencilLayoutsFeatures -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures can -- also be included in the pNext chain of -- DeviceCreateInfo to enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- AttachmentDescription, AttachmentDescription2, -- AttachmentDescriptionStencilLayout, AttachmentReference, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- DescriptorImageInfo, ImageCreateInfo, -- ImageMemoryBarrier, ResolveImageInfo2KHR, -- cmdBindShadingRateImageNV, cmdBlitImage, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyBufferToImage, cmdCopyImage, -- cmdCopyImageToBuffer, cmdResolveImage newtype ImageLayout ImageLayout :: Int32 -> ImageLayout -- | IMAGE_LAYOUT_UNDEFINED does not support device access. This -- layout must only be used as the initialLayout member -- of ImageCreateInfo or AttachmentDescription, or as the -- oldLayout in an image transition. When transitioning out of -- this layout, the contents of the memory are not guaranteed to be -- preserved. 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 bit 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 does not support device access. -- This layout must only be used as the initialLayout -- member of ImageCreateInfo or AttachmentDescription, or -- as the oldLayout in an image transition. When transitioning -- out of this layout, the contents of the memory are preserved. 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_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 pattern IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout 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.PhysicalDeviceSeparateDepthStencilLayoutsFeatures 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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: -- -- 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 -- --

Members

-- -- If the pNext list of BindBufferMemoryInfo includes a -- BindBufferMemoryDeviceGroupInfo structure, then that structure -- determines how memory is bound to buffers across multiple devices in a -- device group. -- --

Description

-- -- The BindBufferMemoryDeviceGroupInfo structure is defined as: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- StructureType data BindBufferMemoryDeviceGroupInfo BindBufferMemoryDeviceGroupInfo :: Vector Word32 -> BindBufferMemoryDeviceGroupInfo [$sel:deviceIndices:BindBufferMemoryDeviceGroupInfo] :: BindBufferMemoryDeviceGroupInfo -> Vector Word32 -- | VkBindImageMemoryDeviceGroupInfo - Structure specifying device within -- a group to bind to -- --

Members

-- -- If the pNext list of BindImageMemoryInfo includes a -- BindImageMemoryDeviceGroupInfo structure, then that structure -- determines how memory is bound to images across multiple devices in a -- device group. -- --

Description

-- -- The BindImageMemoryDeviceGroupInfo structure is defined as: -- -- -- -- 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 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 were 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- Rect2D, StructureType data BindImageMemoryDeviceGroupInfo BindImageMemoryDeviceGroupInfo :: Vector Word32 -> Vector Rect2D -> BindImageMemoryDeviceGroupInfo [$sel:deviceIndices:BindImageMemoryDeviceGroupInfo] :: BindImageMemoryDeviceGroupInfo -> Vector Word32 [$sel:splitInstanceBindRegions:BindImageMemoryDeviceGroupInfo] :: BindImageMemoryDeviceGroupInfo -> Vector Rect2D -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an -- image -- --

Description

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

See Also

-- -- 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: -- -- 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

-- -- BindImagePlaneMemoryInfo, 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 sparse resource operations. pattern IMAGE_ASPECT_METADATA_BIT :: 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. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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 -- --

Members

-- -- The members of the PhysicalDevicePointClippingProperties -- structure describe the following implementation-dependent limit: -- --

Description

-- -- If the PhysicalDevicePointClippingProperties structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- ImageUsageFlags, StructureType data ImageViewUsageCreateInfo ImageViewUsageCreateInfo :: ImageUsageFlags -> ImageViewUsageCreateInfo -- | usage is a bitmask describing the allowed usages of the image -- view. See ImageUsageFlagBits for a description of the supported -- bits. -- -- 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 were -- TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- AttachmentDescription, AttachmentDescription2, -- AttachmentDescriptionStencilLayout, AttachmentReference, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- DescriptorImageInfo, ImageCreateInfo, -- ImageMemoryBarrier, ResolveImageInfo2KHR, -- cmdBindShadingRateImageNV, cmdBlitImage, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyBufferToImage, cmdCopyImage, -- cmdCopyImageToBuffer, cmdResolveImage newtype ImageLayout ImageLayout :: Int32 -> ImageLayout -- | IMAGE_LAYOUT_UNDEFINED does not support device access. This -- layout must only be used as the initialLayout member -- of ImageCreateInfo or AttachmentDescription, or as the -- oldLayout in an image transition. When transitioning out of -- this layout, the contents of the memory are not guaranteed to be -- preserved. 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 bit 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 does not support device access. -- This layout must only be used as the initialLayout -- member of ImageCreateInfo or AttachmentDescription, or -- as the oldLayout in an image transition. When transitioning -- out of this layout, the contents of the memory are preserved. 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_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 pattern IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an -- image -- --

Description

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

See Also

-- -- 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: -- -- 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

-- -- 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

-- -- 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.PipelineTessellationDomainOriginStateCreateInfo instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.InputAttachmentAspectReference 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

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

-- -- -- --

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 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_MAINTENANCE2_SPEC_VERSION = 1 pattern KHR_MAINTENANCE2_SPEC_VERSION :: forall a. Integral a => a type KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" pattern KHR_MAINTENANCE2_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

-- -- 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

-- -- 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

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

See Also

-- -- FormatFeatureFlags 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 images. 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. If this bit is not present, linear filtering with -- depth compare disabled is unsupported and linear filtering with depth -- compare enabled is supported, but may compute the filtered -- value in an implementation-dependent manner which differs from the -- normal rules of linear filtering. The resulting value must be -- in the range [0,1] and should be proportional to, or a weighted -- average of, the number of comparison passes or failures. pattern FORMAT_FEATURE_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 that 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 the format can do linear sampler filtering -- (min/magFilter) whilst sampler Y′CBCR conversion is enabled. 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 -- --

Members

-- -- The members of the PhysicalDeviceSamplerFilterMinmaxProperties -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceSamplerFilterMinmaxProperties structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- -- 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

-- -- 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 that controls 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkFormatFeatureFlagBits - Bitmask specifying features supported by a -- buffer -- --

Description

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

See Also

-- -- FormatFeatureFlags 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 images. 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. If this bit is not present, linear filtering with -- depth compare disabled is unsupported and linear filtering with depth -- compare enabled is supported, but may compute the filtered -- value in an implementation-dependent manner which differs from the -- normal rules of linear filtering. The resulting value must be -- in the range [0,1] and should be proportional to, or a weighted -- average of, the number of comparison passes or failures. pattern FORMAT_FEATURE_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 that 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 the format can do linear sampler filtering -- (min/magFilter) whilst sampler Y′CBCR conversion is enabled. 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

-- -- 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.SamplerReductionModeCreateInfo instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- AccelerationStructureGeometryTrianglesDataKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AttachmentDescription, AttachmentDescription2, -- BufferViewCreateInfo, FramebufferAttachmentImageInfo, -- GeometryTrianglesNV, ImageCreateInfo, -- ImageFormatListCreateInfo, ImageViewASTCDecodeModeEXT, -- ImageViewCreateInfo, PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceSparseImageFormatInfo2, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerYcbcrConversionCreateInfo, SurfaceFormatKHR, -- SwapchainCreateInfoKHR, VertexInputAttributeDescription, -- 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_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 -- dimensions of the BR plane is halved relative to the image dimensions, -- and each R and B value is shared with the G components for which -- (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of -- each plane when this image is in linear layout can be determined via -- getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G16_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G16_B16_R16_3PLANE_422_UNORM :: Format -- | FORMAT_G16_B16R16_2PLANE_420_UNORM specifies an unsigned -- normalized multi-planar format that has a 16-bit G component in -- each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 -- consisting of a 16-bit B component in the word in bytes 0..1, and a -- 16-bit R component in the word in bytes 2..3. The horizontal and -- vertical dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for -- which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and -- (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of -- each plane when this image is in linear layout can be determined via -- getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G16_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G16_B16_R16_3PLANE_420_UNORM :: Format -- | FORMAT_B16G16R16G16_422_UNORM specifies a four-component, -- 64-bit format containing a pair of G components, an R component, and a -- B component, collectively encoding a 2×1 rectangle of unsigned -- normalized RGB texel data. One G value is present at each i -- coordinate, with the B and R values shared across both G values and -- thus recorded at half the horizontal resolution of the image. This -- format has a 16-bit B component in the word in bytes 0..1, a 16-bit G -- component for the even i coordinate in the word in bytes 2..3, -- a 16-bit R component in the word in bytes 4..5, and a 16-bit G -- component for the odd i coordinate in the word in bytes 6..7. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_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. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_G16B16G16R16_422_UNORM :: Format -- | FORMAT_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, the bottom 4 bits of each -- word unused. The horizontal dimensions of the BR plane is halved -- relative to the image dimensions, and each R and B value is shared -- with the G components for which (leftlfloor i_G times 0.5 rightrfloor -- = i_B = i_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G12X4_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: Format -- | FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 specifies an -- unsigned normalized multi-planar format that has a 12-bit G -- component in the top 12 bits of each 16-bit word of plane 0, and a -- two-component, 32-bit BR plane 1 consisting of a 12-bit B component in -- the top 12 bits of the word in bytes 0..1, and a 12-bit R component in -- the top 12 bits of the word in bytes 2..3, the bottom 4 bits of each -- word unused. The horizontal and vertical dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which (leftlfloor i_G times 0.5 -- rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = -- j_B = j_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G12X4_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: Format -- | FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 specifies a -- four-component, 64-bit format containing a pair of G components, an R -- component, and a B component, collectively encoding a 2×1 rectangle of -- unsigned normalized RGB texel data. One G value is present at each -- i coordinate, with the B and R values shared across both G -- values and thus recorded at half the horizontal resolution of the -- image. This format has a 12-bit B component in the top 12 bits of the -- word in bytes 0..1, a 12-bit G component for the even i -- coordinate in the top 12 bits of the word in bytes 2..3, a 12-bit R -- component in the top 12 bits of the word in bytes 4..5, and a 12-bit G -- component for the odd i coordinate in the top 12 bits of the -- word in bytes 6..7, with the bottom 4 bits of each word unused. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_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. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: Format -- | FORMAT_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, the bottom 6 bits of each -- word unused. The horizontal dimensions of the BR plane is halved -- relative to the image dimensions, and each R and B value is shared -- with the G components for which (leftlfloor i_G times 0.5 rightrfloor -- = i_B = i_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G10X6_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: Format -- | FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 specifies an -- unsigned normalized multi-planar format that has a 10-bit G -- component in the top 10 bits of each 16-bit word of plane 0, and a -- two-component, 32-bit BR plane 1 consisting of a 10-bit B component in -- the top 10 bits of the word in bytes 0..1, and a 10-bit R component in -- the top 10 bits of the word in bytes 2..3, the bottom 6 bits of each -- word unused. The horizontal and vertical dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which (leftlfloor i_G times 0.5 -- rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = -- j_B = j_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G10X6_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: Format -- | FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 specifies a -- four-component, 64-bit format containing a pair of G components, an R -- component, and a B component, collectively encoding a 2×1 rectangle of -- unsigned normalized RGB texel data. One G value is present at each -- i coordinate, with the B and R values shared across both G -- values and thus recorded at half the horizontal resolution of the -- image. This format has a 10-bit B component in the top 10 bits of the -- word in bytes 0..1, a 10-bit G component for the even i -- coordinate in the top 10 bits of the word in bytes 2..3, a 10-bit R -- component in the top 10 bits of the word in bytes 4..5, and a 10-bit G -- component for the odd i coordinate in the top 10 bits of the -- word in bytes 6..7, with the bottom 6 bits of each word unused. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_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. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: Format -- | FORMAT_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 dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for -- which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location -- of each plane when this image is in linear layout can be determined -- via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G8_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G8_B8_R8_3PLANE_422_UNORM :: Format -- | FORMAT_G8_B8R8_2PLANE_420_UNORM specifies an unsigned -- normalized multi-planar format that has an 8-bit G component in -- plane 0, and a two-component, 16-bit BR plane 1 consisting of an 8-bit -- B component in byte 0 and an 8-bit R component in byte 1. The -- horizontal and vertical dimensions of the BR plane is halved relative -- to the image dimensions, and each R and B value is shared with the G -- components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = -- i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The -- location of each plane when this image is in linear layout can be -- determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G8_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G8_B8_R8_3PLANE_420_UNORM :: Format -- | FORMAT_B8G8R8G8_422_UNORM specifies a four-component, 32-bit -- format containing a pair of G components, an R component, and a B -- component, collectively encoding a 2×1 rectangle of unsigned -- normalized RGB texel data. One G value is present at each i -- coordinate, with the B and R values shared across both G values and -- thus recorded at half the horizontal resolution of the image. This -- format has an 8-bit B component in byte 0, an 8-bit G component for -- the even i coordinate in byte 1, an 8-bit R component in byte -- 2, and an 8-bit G component for the odd i coordinate in byte 3. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_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. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_G8B8G8R8_422_UNORM :: Format 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceASTCDecodeFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceASTCDecodeFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceASTCDecodeFeaturesEXT can also be included -- in the pNext chain of createDevice to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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.PhysicalDeviceASTCDecodeFeaturesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT 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 list of -- ImageCreateInfo. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- Format, StructureType data ImageFormatListCreateInfo ImageFormatListCreateInfo :: Vector Format -> ImageFormatListCreateInfo -- | pViewFormats is an array which lists of all formats which -- can be used when creating views of this image. [$sel:viewFormats:ImageFormatListCreateInfo] :: ImageFormatListCreateInfo -> Vector Format -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- 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

-- -- 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.FilterCubicImageViewImageFormatPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT 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

-- -- 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.EventCreateFlags -- | VkEventCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- EventCreateInfo newtype EventCreateFlags EventCreateFlags :: Flags -> EventCreateFlags instance Data.Bits.FiniteBits Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance Data.Bits.Bits Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance Vulkan.Zero.Zero Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance Foreign.Storable.Storable Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance GHC.Classes.Ord Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance GHC.Classes.Eq Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance GHC.Show.Show Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags instance GHC.Read.Read Vulkan.Core10.Enums.EventCreateFlags.EventCreateFlags module Vulkan.Core10.Enums.DynamicState -- | VkDynamicState - Indicate which dynamic state is taken from dynamic -- state commands -- --

See Also

-- -- 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 -- draw 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 -- draw 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 draw 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_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 draw 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 draw 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 draw 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 draw 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 draw 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 draw 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 draw 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

-- -- 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

-- -- 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: -- -- -- -- 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE structure -- describe the following features: -- --

Description

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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)

-- -- -- --

See Also

-- -- DescriptorType, MutableDescriptorTypeCreateInfoVALVE data MutableDescriptorTypeListVALVE MutableDescriptorTypeListVALVE :: Vector DescriptorType -> MutableDescriptorTypeListVALVE -- | pDescriptorTypes is NULL or a pointer to an array of -- descriptorTypeCount DescriptorType values which define -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- The members of the PhysicalDeviceDescriptorIndexingFeatures -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceDescriptorIndexingFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceDescriptorIndexingFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceDescriptorIndexingProperties -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceDescriptorIndexingProperties structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 create info 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 create info 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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.DescriptorSetVariableDescriptorCountLayoutSupport 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.PhysicalDeviceDescriptorIndexingFeatures 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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

-- -- -- -- -- --

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

-- -- 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 dependency. 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

-- -- The members of the PhysicalDeviceMultiviewFeatures structure -- describe the following features: -- --

Description

-- -- -- -- -- -- If the PhysicalDeviceMultiviewFeatures structure is included in -- the pNext chain of PhysicalDeviceFeatures2, it is -- filled with values indicating whether each feature is supported. -- PhysicalDeviceMultiviewFeatures can also be included in -- the pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceMultiviewProperties structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceMultiviewProperties structure is included -- in the pNext chain of PhysicalDeviceProperties2, it is -- filled with the implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 info -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkDependencyFlagBits - Bitmask specifying how execution and memory -- dependencies are formed -- --

See Also

-- -- 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 dependency. pattern DEPENDENCY_DEVICE_GROUP_BIT :: DependencyFlagBits type DependencyFlags = DependencyFlagBits instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 to shaders -- that allow shaders to control what to do for each view. If using GLSL -- there is also a 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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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. -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 present in -- the SamplerCreateInfo::pNext chain which contains the -- color data in integer format. pattern BORDER_COLOR_INT_CUSTOM_EXT :: BorderColor -- | BORDER_COLOR_FLOAT_CUSTOM_EXT indicates that a -- SamplerCustomBorderColorCreateInfoEXT structure is present in -- the SamplerCreateInfo::pNext chain which contains 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 each basic blend operations is described in the table -- below: -- -- TODO: table -- -- Basic Blend Operations -- -- In this table, the following conventions are used: -- -- -- -- 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

-- -- 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 each enum value is described in the table below: -- -- TODO: table -- -- Blend Factors -- -- In this table, the following conventions are used: -- -- -- --

See Also

-- -- 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

-- -- AttachmentDescription, AttachmentDescription2 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_QCOM specifies that the contents -- within the render area were not written during rendering, and -- may not be written to memory. If the attachment was written to -- during the renderpass, the contents of the attachment will be -- undefined inside the render area. pattern ATTACHMENT_STORE_OP_NONE_QCOM :: 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 module Vulkan.Core10.Enums.AttachmentLoadOp -- | VkAttachmentLoadOp - Specify how contents of an attachment are treated -- at the beginning of a subpass -- --

See Also

-- -- AttachmentDescription, AttachmentDescription2 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 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

-- -- 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

-- -- 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

-- -- 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 dispatch command. 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. 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. pattern ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: AccessFlagBits -- | ACCESS_UNIFORM_READ_BIT specifies read access to a uniform -- buffer. pattern ACCESS_UNIFORM_READ_BIT :: AccessFlagBits -- | ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an -- input attachment within a render pass during fragment shading. pattern ACCESS_INPUT_ATTACHMENT_READ_BIT :: AccessFlagBits -- | ACCESS_SHADER_READ_BIT specifies read access to a storage -- buffer, physical storage buffer, shader binding -- table, uniform texel buffer, storage texel buffer, -- sampled image, or storage image. 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. 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. 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. 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. 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. pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: AccessFlagBits -- | ACCESS_TRANSFER_READ_BIT specifies read access to an image or -- buffer in a copy operation. pattern ACCESS_TRANSFER_READ_BIT :: AccessFlagBits -- | ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or -- buffer in a clear or copy operation. 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. 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. 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_COMMAND_PREPROCESS_WRITE_BIT_NV specifies writes to the -- Buffer preprocess outputs in -- cmdPreprocessGeneratedCommandsNV. pattern ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits -- | ACCESS_COMMAND_PREPROCESS_READ_BIT_NV specifies reads from -- Buffer inputs to cmdPreprocessGeneratedCommandsNV. pattern ACCESS_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits -- | ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read access -- to a fragment density map attachment during dynamic fragment -- density map operations pattern ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: 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. 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. pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits -- | ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT is similar to -- ACCESS_COLOR_ATTACHMENT_READ_BIT, but also includes advanced -- blend operations. 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. 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. 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. 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. 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

-- -- -- -- -- --

See Also

-- -- PFN_vkAllocationFunction, PFN_vkFreeFunction, -- PFN_vkInternalAllocationNotification, -- PFN_vkInternalFreeNotification, -- PFN_vkReallocationFunction, allocateMemory, -- createAccelerationStructureKHR, -- createAccelerationStructureNV, createAndroidSurfaceKHR, -- createBuffer, createBufferView, -- createCommandPool, createComputePipelines, -- createDebugReportCallbackEXT, -- createDebugUtilsMessengerEXT, -- createDeferredOperationKHR, createDescriptorPool, -- createDescriptorSetLayout, -- createDescriptorUpdateTemplate, -- createDescriptorUpdateTemplateKHR, createDevice, -- createDirectFBSurfaceEXT, createDisplayModeKHR, -- createDisplayPlaneSurfaceKHR, createEvent, -- createFence, createFramebuffer, -- createGraphicsPipelines, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImage, -- createImagePipeSurfaceFUCHSIA, createImageView, -- createIndirectCommandsLayoutNV, createInstance, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createPipelineCache, createPipelineLayout, -- createPrivateDataSlotEXT, createQueryPool, -- createRayTracingPipelinesKHR, -- createRayTracingPipelinesNV, createRenderPass, -- createRenderPass2, createRenderPass2KHR, -- createSampler, createSamplerYcbcrConversion, -- createSamplerYcbcrConversionKHR, createSemaphore, -- createShaderModule, createSharedSwapchainsKHR, -- createStreamDescriptorSurfaceGGP, createSwapchainKHR, -- createValidationCacheEXT, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroyAccelerationStructureKHR, -- destroyAccelerationStructureNV, destroyBuffer, -- destroyBufferView, destroyCommandPool, -- destroyDebugReportCallbackEXT, -- destroyDebugUtilsMessengerEXT, -- destroyDeferredOperationKHR, destroyDescriptorPool, -- destroyDescriptorSetLayout, -- destroyDescriptorUpdateTemplate, -- destroyDescriptorUpdateTemplateKHR, destroyDevice, -- destroyEvent, destroyFence, destroyFramebuffer, -- destroyImage, destroyImageView, -- destroyIndirectCommandsLayoutNV, destroyInstance, -- destroyPipeline, destroyPipelineCache, -- destroyPipelineLayout, destroyPrivateDataSlotEXT, -- destroyQueryPool, destroyRenderPass, -- destroySampler, destroySamplerYcbcrConversion, -- destroySamplerYcbcrConversionKHR, destroySemaphore, -- destroyShaderModule, destroySurfaceKHR, -- destroySwapchainKHR, destroyValidationCacheEXT, -- freeMemory, registerDeviceEventEXT, -- registerDisplayEventEXT 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 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 pattern MAX_PHYSICAL_DEVICE_NAME_SIZE :: forall a. Integral a => a type UUID_SIZE = 16 pattern UUID_SIZE :: forall a. Integral a => a type LUID_SIZE = 8 pattern LUID_SIZE :: forall a. Integral a => a type MAX_EXTENSION_NAME_SIZE = 256 pattern MAX_EXTENSION_NAME_SIZE :: forall a. Integral a => a type MAX_DESCRIPTION_SIZE = 256 pattern MAX_DESCRIPTION_SIZE :: forall a. Integral a => a type MAX_MEMORY_TYPES = 32 pattern MAX_MEMORY_TYPES :: forall a. Integral a => a type MAX_MEMORY_HEAPS = 16 pattern MAX_MEMORY_HEAPS :: forall a. Integral a => a type REMAINING_MIP_LEVELS = 4294967295 pattern REMAINING_MIP_LEVELS :: Word32 type REMAINING_ARRAY_LAYERS = 4294967295 pattern REMAINING_ARRAY_LAYERS :: Word32 type WHOLE_SIZE = 18446744073709551615 pattern WHOLE_SIZE :: Word64 type ATTACHMENT_UNUSED = 4294967295 pattern ATTACHMENT_UNUSED :: Word32 type QUEUE_FAMILY_IGNORED = 4294967295 pattern QUEUE_FAMILY_IGNORED :: Word32 type QUEUE_FAMILY_EXTERNAL = 4294967294 pattern QUEUE_FAMILY_EXTERNAL :: Word32 type QUEUE_FAMILY_FOREIGN_EXT = 4294967293 pattern QUEUE_FAMILY_FOREIGN_EXT :: Word32 type SUBPASS_EXTERNAL = 4294967295 pattern SUBPASS_EXTERNAL :: Word32 type MAX_DEVICE_GROUP_SIZE = 32 pattern MAX_DEVICE_GROUP_SIZE :: forall a. Integral a => a type MAX_DRIVER_NAME_SIZE = 256 pattern MAX_DRIVER_NAME_SIZE :: forall a. Integral a => a type MAX_DRIVER_INFO_SIZE = 256 pattern MAX_DRIVER_INFO_SIZE :: forall a. Integral a => a type SHADER_UNUSED_KHR = 4294967295 pattern SHADER_UNUSED_KHR :: Word32 -- | VK_NULL_HANDLE - Reserved non-valid object handle -- --

See Also

-- -- No cross-references are available 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 (integer 1) value, and -- FALSE a boolean False (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

-- -- AccelerationStructureGeometryInstancesDataKHR, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DescriptorSetLayoutSupport, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPresentInfoKHR, DisplayPropertiesKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- IndirectCommandsLayoutTokenNV, -- MemoryDedicatedRequirements, -- PerformanceOverrideInfoINTEL, PerformanceValueDataINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceFeatures, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceLimits, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceSparseProperties, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendAttachmentState, -- PipelineColorBlendStateCreateInfo, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineDepthStencilStateCreateInfo, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutableStatisticValueKHR, -- PipelineInputAssemblyStateCreateInfo, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- ProtectedSubmitInfo, SamplerCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceProtectedCapabilitiesKHR, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- cmdBuildAccelerationStructureNV, -- cmdExecuteGeneratedCommandsNV, -- cmdSetDepthBoundsTestEnableEXT, -- cmdSetDepthTestEnableEXT, cmdSetDepthWriteEnableEXT, -- cmdSetStencilTestEnableEXT, -- getPhysicalDeviceSurfaceSupportKHR, setLocalDimmingAMD, -- waitForFences newtype Bool32 Bool32 :: Int32 -> Bool32 pattern FALSE :: Bool32 pattern TRUE :: Bool32 -- | VkPipelineCacheHeaderVersion - Encode pipeline cache version -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 pattern QUEUE_FAMILY_FOREIGN_EXT :: Word32 -- |

Name

-- -- VK_EXT_memory_budget - device extension -- --

VK_EXT_memory_budget

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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 module Vulkan.Core12.Promoted_From_VK_KHR_driver_properties -- | VkConformanceVersion - Structure containing the conformance test suite -- version the implementation is compliant with -- --

See Also

-- -- 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

-- -- driverID must be immutable for a given driver across -- instances, processes, driver versions, and system reboots. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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 type MAX_DRIVER_NAME_SIZE = 256 pattern MAX_DRIVER_NAME_SIZE :: forall a. Integral a => a type MAX_DRIVER_INFO_SIZE = 256 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- handleType 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

-- -- 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

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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 pattern QUEUE_FAMILY_EXTERNAL :: Word32 instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo 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.ExternalMemoryImageCreateInfo 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 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 not 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_IGNOREDQUEUE_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 meta data 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 exposes the full power of Vulkan on 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 considerations 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 even 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 input 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

-- -- -- --

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

-- -- 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

-- -- 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.BaseInStructure instance GHC.Classes.Eq Vulkan.CStruct.Extends.BaseOutStructure 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 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) -> 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) [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) -- | 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 -> 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 -> 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 -> ("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 -> ("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 -> ("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 -> ("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 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 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 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 ()) -> 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) [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 ()) [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 ()) [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) [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) [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 ()) [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) [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 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 ()) [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 ()) 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

-- -- No cross-references are available enumerateInstanceVersion :: forall io. MonadIO io => io ("apiVersion" ::: Word32) module Vulkan.Core10.Handles -- | VkInstance - Opaque handle to an instance object -- --

See Also

-- -- createAndroidSurfaceKHR, createDebugReportCallbackEXT, -- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createInstance, createMacOSSurfaceMVK, -- createMetalSurfaceEXT, 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

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

-- -- acquireFullScreenExclusiveModeEXT, acquireNextImage2KHR, -- acquireNextImageKHR, -- acquirePerformanceConfigurationINTEL, -- acquireProfilingLockKHR, allocateCommandBuffers, -- allocateDescriptorSets, allocateMemory, -- bindAccelerationStructureMemoryNV, bindBufferMemory, -- bindBufferMemory2, bindBufferMemory2KHR, -- bindImageMemory, bindImageMemory2, -- bindImageMemory2KHR, buildAccelerationStructuresKHR, -- compileDeferredNV, copyAccelerationStructureKHR, -- copyAccelerationStructureToMemoryKHR, -- copyMemoryToAccelerationStructureKHR, -- createAccelerationStructureKHR, -- createAccelerationStructureNV, createBuffer, -- createBufferView, createCommandPool, -- createComputePipelines, 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, -- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT, -- deferredOperationJoinKHR, -- destroyAccelerationStructureKHR, -- destroyAccelerationStructureNV, destroyBuffer, -- destroyBufferView, destroyCommandPool, -- 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, deviceWaitIdle, -- displayPowerControlEXT, flushMappedMemoryRanges, -- freeCommandBuffers, freeDescriptorSets, -- freeMemory, getAccelerationStructureBuildSizesKHR, -- getAccelerationStructureDeviceAddressKHR, -- getAccelerationStructureHandleNV, -- getAccelerationStructureMemoryRequirementsNV, -- getAndroidHardwareBufferPropertiesANDROID, -- getBufferDeviceAddress, getBufferDeviceAddressEXT, -- getBufferDeviceAddressKHR, getBufferMemoryRequirements, -- getBufferMemoryRequirements2, -- getBufferMemoryRequirements2KHR, -- getBufferOpaqueCaptureAddress, -- getBufferOpaqueCaptureAddressKHR, -- getCalibratedTimestampsEXT, -- getDeferredOperationMaxConcurrencyKHR, -- getDeferredOperationResultKHR, -- getDescriptorSetLayoutSupport, -- getDescriptorSetLayoutSupportKHR, -- getDeviceAccelerationStructureCompatibilityKHR, -- getDeviceGroupPeerMemoryFeatures, -- getDeviceGroupPeerMemoryFeaturesKHR, -- getDeviceGroupPresentCapabilitiesKHR, -- getDeviceGroupSurfacePresentModes2EXT, -- getDeviceGroupSurfacePresentModesKHR, -- getDeviceMemoryCommitment, -- getDeviceMemoryOpaqueCaptureAddress, -- getDeviceMemoryOpaqueCaptureAddressKHR, -- getDeviceProcAddr, getDeviceQueue, -- getDeviceQueue2, getEventStatus, getFenceFdKHR, -- getFenceStatus, getFenceWin32HandleKHR, -- getGeneratedCommandsMemoryRequirementsNV, -- getImageDrmFormatModifierPropertiesEXT, -- getImageMemoryRequirements, getImageMemoryRequirements2, -- getImageMemoryRequirements2KHR, -- getImageSparseMemoryRequirements, -- getImageSparseMemoryRequirements2, -- getImageSparseMemoryRequirements2KHR, -- getImageSubresourceLayout, getImageViewAddressNVX, -- getImageViewHandleNVX, -- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR, -- getMemoryFdPropertiesKHR, -- getMemoryHostPointerPropertiesEXT, -- getMemoryWin32HandleKHR, getMemoryWin32HandleNV, -- getMemoryWin32HandlePropertiesKHR, -- getPastPresentationTimingGOOGLE, -- getPerformanceParameterINTEL, getPipelineCacheData, -- getPipelineExecutableInternalRepresentationsKHR, -- getPipelineExecutablePropertiesKHR, -- getPipelineExecutableStatisticsKHR, getPrivateDataEXT, -- getQueryPoolResults, -- getRayTracingCaptureReplayShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesNV, -- getRayTracingShaderGroupStackSizeKHR, -- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity, -- getSemaphoreCounterValue, getSemaphoreCounterValueKHR, -- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR, -- getShaderInfoAMD, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- getValidationCacheDataEXT, importFenceFdKHR, -- importFenceWin32HandleKHR, importSemaphoreFdKHR, -- importSemaphoreWin32HandleKHR, -- initializePerformanceApiINTEL, -- invalidateMappedMemoryRanges, mapMemory, -- mergePipelineCaches, mergeValidationCachesEXT, -- registerDeviceEventEXT, registerDisplayEventEXT, -- releaseFullScreenExclusiveModeEXT, -- releasePerformanceConfigurationINTEL, -- releaseProfilingLockKHR, resetCommandPool, -- resetDescriptorPool, resetEvent, resetFences, -- resetQueryPool, resetQueryPoolEXT, -- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT, -- setEvent, setHdrMetadataEXT, setLocalDimmingAMD, -- setPrivateDataEXT, signalSemaphore, -- signalSemaphoreKHR, trimCommandPool, -- trimCommandPoolKHR, uninitializePerformanceApiINTEL, -- unmapMemory, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR, -- updateDescriptorSets, waitForFences, -- 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

-- -- getDeviceQueue, getDeviceQueue2, -- getQueueCheckpointDataNV, queueBeginDebugUtilsLabelEXT, -- queueBindSparse, queueEndDebugUtilsLabelEXT, -- queueInsertDebugUtilsLabelEXT, queuePresentKHR, -- queueSetPerformanceConfigurationINTEL, queueSubmit, -- 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

-- -- SubmitInfo, allocateCommandBuffers, -- beginCommandBuffer, cmdBeginConditionalRenderingEXT, -- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery, -- cmdBeginQueryIndexedEXT, cmdBeginRenderPass, -- cmdBeginRenderPass2, cmdBeginRenderPass2KHR, -- cmdBeginTransformFeedbackEXT, cmdBindDescriptorSets, -- cmdBindIndexBuffer, cmdBindPipeline, -- cmdBindPipelineShaderGroupNV, cmdBindShadingRateImageNV, -- cmdBindTransformFeedbackBuffersEXT, -- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT, -- cmdBlitImage, cmdBlitImage2KHR, -- cmdBuildAccelerationStructureNV, -- cmdBuildAccelerationStructuresIndirectKHR, -- cmdBuildAccelerationStructuresKHR, cmdClearAttachments, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyAccelerationStructureKHR, -- cmdCopyAccelerationStructureNV, -- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer, -- cmdCopyBuffer2KHR, cmdCopyBufferToImage, -- cmdCopyBufferToImage2KHR, cmdCopyImage, -- cmdCopyImage2KHR, cmdCopyImageToBuffer, -- cmdCopyImageToBuffer2KHR, -- cmdCopyMemoryToAccelerationStructureKHR, -- cmdCopyQueryPoolResults, cmdDebugMarkerBeginEXT, -- cmdDebugMarkerEndEXT, cmdDebugMarkerInsertEXT, -- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR, -- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed, -- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount, -- cmdDrawIndexedIndirectCountAMD, -- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect, -- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount, -- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR, -- cmdDrawMeshTasksIndirectCountNV, -- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV, -- cmdEndConditionalRenderingEXT, cmdEndDebugUtilsLabelEXT, -- cmdEndQuery, cmdEndQueryIndexedEXT, -- cmdEndRenderPass, cmdEndRenderPass2, -- cmdEndRenderPass2KHR, cmdEndTransformFeedbackEXT, -- cmdExecuteCommands, cmdExecuteGeneratedCommandsNV, -- cmdFillBuffer, cmdInsertDebugUtilsLabelEXT, -- cmdNextSubpass, cmdNextSubpass2, -- cmdNextSubpass2KHR, cmdPipelineBarrier, -- cmdPreprocessGeneratedCommandsNV, cmdPushConstants, -- cmdPushDescriptorSetKHR, -- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent, -- cmdResetQueryPool, cmdResolveImage, -- cmdResolveImage2KHR, cmdSetBlendConstants, -- cmdSetCheckpointNV, cmdSetCoarseSampleOrderNV, -- cmdSetCullModeEXT, cmdSetDepthBias, -- cmdSetDepthBounds, cmdSetDepthBoundsTestEnableEXT, -- cmdSetDepthCompareOpEXT, cmdSetDepthTestEnableEXT, -- cmdSetDepthWriteEnableEXT, cmdSetDeviceMask, -- cmdSetDeviceMaskKHR, cmdSetDiscardRectangleEXT, -- cmdSetEvent, cmdSetExclusiveScissorNV, -- cmdSetFragmentShadingRateEnumNV, -- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT, -- cmdSetLineStippleEXT, cmdSetLineWidth, -- cmdSetPerformanceMarkerINTEL, -- cmdSetPerformanceOverrideINTEL, -- cmdSetPerformanceStreamMarkerINTEL, -- cmdSetPrimitiveTopologyEXT, -- cmdSetRayTracingPipelineStackSizeKHR, -- cmdSetSampleLocationsEXT, cmdSetScissor, -- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask, -- cmdSetStencilOpEXT, cmdSetStencilReference, -- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask, -- cmdSetViewport, cmdSetViewportShadingRatePaletteNV, -- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT, -- cmdTraceRaysIndirectKHR, cmdTraceRaysKHR, -- cmdTraceRaysNV, cmdUpdateBuffer, cmdWaitEvents, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteBufferMarkerAMD, cmdWriteTimestamp, -- 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

-- -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryInfo, BindImageMemoryInfo, -- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- SparseImageMemoryBind, SparseMemoryBind, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory, -- bindBufferMemory, bindImageMemory, freeMemory, -- getDeviceMemoryCommitment, getMemoryWin32HandleNV, -- mapMemory, unmapMemory newtype DeviceMemory DeviceMemory :: Word64 -> DeviceMemory -- | VkCommandPool - Opaque handle to a command pool object -- --

See Also

-- -- CommandBufferAllocateInfo, createCommandPool, -- destroyCommandPool, freeCommandBuffers, -- resetCommandPool, trimCommandPool, -- trimCommandPoolKHR newtype CommandPool CommandPool :: Word64 -> CommandPool -- | VkBuffer - Opaque handle to a buffer object -- --

See Also

-- -- AccelerationStructureCreateInfoKHR, -- BindBufferMemoryInfo, BufferDeviceAddressInfo, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferViewCreateInfo, ConditionalRenderingBeginInfoEXT, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorBufferInfo, GeneratedCommandsInfoNV, -- GeometryAABBNV, GeometryTrianglesNV, -- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo, -- SparseBufferMemoryBindInfo, 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, -- cmdWriteBufferMarkerAMD, createBuffer, -- destroyBuffer, getBufferMemoryRequirements newtype Buffer Buffer :: Word64 -> Buffer -- | VkBufferView - Opaque handle to a buffer view object -- --

See Also

-- -- WriteDescriptorSet, createBufferView, -- destroyBufferView newtype BufferView BufferView :: Word64 -> BufferView -- | VkImage - Opaque handle to an image object -- --

See Also

-- -- BindImageMemoryInfo, BlitImageInfo2KHR, -- CopyBufferToImageInfo2KHR, CopyImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- ImageMemoryBarrier, 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

-- -- DescriptorImageInfo, FramebufferCreateInfo, -- ImageViewHandleInfoNVX, RenderPassAttachmentBeginInfo, -- cmdBindShadingRateImageNV, createImageView, -- destroyImageView, getImageViewAddressNVX newtype ImageView ImageView :: Word64 -> ImageView -- | VkShaderModule - Opaque handle to a shader module object -- --

See Also

-- -- PipelineShaderStageCreateInfo, createShaderModule, -- destroyShaderModule newtype ShaderModule ShaderModule :: Word64 -> ShaderModule -- | VkPipeline - Opaque handle to a pipeline object -- --

See Also

-- -- 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

-- -- 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

-- -- DescriptorImageInfo, DescriptorSetLayoutBinding, -- ImageViewHandleInfoNVX, createSampler, -- destroySampler newtype Sampler Sampler :: Word64 -> Sampler -- | VkDescriptorSet - Opaque handle to a descriptor set object -- --

See Also

-- -- CopyDescriptorSet, WriteDescriptorSet, -- allocateDescriptorSets, cmdBindDescriptorSets, -- freeDescriptorSets, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR newtype DescriptorSet DescriptorSet :: Word64 -> DescriptorSet -- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout -- object -- --

See Also

-- -- DescriptorSetAllocateInfo, -- DescriptorUpdateTemplateCreateInfo, -- PipelineLayoutCreateInfo, createDescriptorSetLayout, -- destroyDescriptorSetLayout newtype DescriptorSetLayout DescriptorSetLayout :: Word64 -> DescriptorSetLayout -- | VkDescriptorPool - Opaque handle to a descriptor pool object -- --

See Also

-- -- DescriptorSetAllocateInfo, createDescriptorPool, -- destroyDescriptorPool, freeDescriptorSets, -- resetDescriptorPool newtype DescriptorPool DescriptorPool :: Word64 -> DescriptorPool -- | VkFence - Opaque handle to a fence object -- --

See Also

-- -- AcquireNextImageInfoKHR, FenceGetFdInfoKHR, -- FenceGetWin32HandleInfoKHR, ImportFenceFdInfoKHR, -- ImportFenceWin32HandleInfoKHR, acquireNextImageKHR, -- createFence, destroyFence, getFenceStatus, -- queueBindSparse, queueSubmit, -- registerDeviceEventEXT, registerDisplayEventEXT, -- resetFences, waitForFences newtype Fence Fence :: Word64 -> Fence -- | VkSemaphore - Opaque handle to a semaphore object -- --

See Also

-- -- AcquireNextImageInfoKHR, BindSparseInfo, -- ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, PresentInfoKHR, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreWaitInfo, -- SubmitInfo, acquireNextImageKHR, createSemaphore, -- destroySemaphore, getSemaphoreCounterValue, -- getSemaphoreCounterValueKHR newtype Semaphore Semaphore :: Word64 -> Semaphore -- | VkEvent - Opaque handle to an event object -- --

See Also

-- -- cmdResetEvent, cmdSetEvent, cmdWaitEvents, -- createEvent, destroyEvent, getEventStatus, -- resetEvent, setEvent newtype Event Event :: Word64 -> Event -- | VkQueryPool - Opaque handle to a query pool object -- --

See Also

-- -- cmdBeginQuery, cmdBeginQueryIndexedEXT, -- cmdCopyQueryPoolResults, cmdEndQuery, -- cmdEndQueryIndexedEXT, cmdResetQueryPool, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteTimestamp, createQueryPool, -- destroyQueryPool, getQueryPoolResults, -- resetQueryPool, resetQueryPoolEXT newtype QueryPool QueryPool :: Word64 -> QueryPool -- | VkFramebuffer - Opaque handle to a framebuffer object -- --

See Also

-- -- CommandBufferInheritanceInfo, RenderPassBeginInfo, -- createFramebuffer, destroyFramebuffer newtype Framebuffer Framebuffer :: Word64 -> Framebuffer -- | VkRenderPass - Opaque handle to a render pass object -- --

See Also

-- -- CommandBufferInheritanceInfo, FramebufferCreateInfo, -- GraphicsPipelineCreateInfo, RenderPassBeginInfo, -- createRenderPass, createRenderPass2, -- createRenderPass2KHR, destroyRenderPass, -- getRenderAreaGranularity newtype RenderPass RenderPass :: Word64 -> RenderPass -- | VkPipelineCache - Opaque handle to a pipeline cache object -- --

See Also

-- -- createComputePipelines, createGraphicsPipelines, -- createPipelineCache, createRayTracingPipelinesKHR, -- createRayTracingPipelinesNV, destroyPipelineCache, -- getPipelineCacheData, mergePipelineCaches newtype PipelineCache PipelineCache :: Word64 -> PipelineCache 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.Instance instance GHC.Show.Show Vulkan.Core10.Handles.Instance instance GHC.Classes.Eq Vulkan.Core10.Handles.Instance 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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

-- --
    --
  1. 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?
  2. --
-- -- 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. -- --
    --
  1. 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?
  2. --
-- -- RESOLVED We are specifying the pipeline stage to be between the -- final stage used for vertex processing -- (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. -- --
    --
  1. How do centroid-sampled variables work with fragments larger than -- one pixel?
  2. --
-- -- 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 don’t have a similar problem. -- --

Version History

-- -- -- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, ImageLayout, ImageView cmdBindShadingRateImageNV :: forall io. MonadIO io => CommandBuffer -> ImageView -> ImageLayout -> io () -- | vkCmdSetViewportShadingRatePaletteNV - Set shading rate image palettes -- on a command buffer -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, ShadingRatePaletteNV cmdSetViewportShadingRatePaletteNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV) -> io () -- | vkCmdSetCoarseSampleOrderNV - Set sample order for coarse fragments on -- 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CoarseSampleOrderCustomNV, CoarseSampleOrderTypeNV, -- CommandBuffer cmdSetCoarseSampleOrderNV :: forall io. MonadIO io => CommandBuffer -> CoarseSampleOrderTypeNV -> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV) -> io () -- | VkShadingRatePaletteNV - Structure specifying a single shading rate -- palette -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- The members of the PhysicalDeviceShadingRateImageFeaturesNV -- structure describe the following features: -- --

Description

-- -- See Shading Rate Image for more information. -- -- If the PhysicalDeviceShadingRateImageFeaturesNV structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceShadingRateImageFeaturesNV can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceShadingRateImagePropertiesNV -- structure describe the following implementation-dependent properties -- related to the shading rate image feature: -- --

Description

-- -- If the PhysicalDeviceShadingRateImagePropertiesNV structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- CoarseSampleOrderCustomNV 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 of which specifies 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

-- -- 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

-- -- 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 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_shading_rate_image.CoarseSampleLocationNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 the dynamic exclusive scissor -- rectangles on 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 state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV set -- in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceExclusiveScissorFeaturesNV -- structure describe the following features: -- --

Description

-- -- See Exclusive Scissor Test for more information. -- -- If the PhysicalDeviceExclusiveScissorFeaturesNV structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceExclusiveScissorFeaturesNV can also be -- included in the pNext chain of DeviceCreateInfo to -- enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 the task and mesh -- shaders are dispatched, they replace the standard programmable vertex -- processing pipeline, including vertex array attribute fetching, vertex -- shader processing, tessellation, and the 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

-- --
    --
  1. How to name this extension?RESOLVED: VK_NV_mesh_shaderOther -- options -- considered:
  2. --
-- --
    --
  1. Do we need a new VkPrimitiveTopology?RESOLVED: NO, we skip the -- InputAssembler stage
  2. --
  3. Should we allow Instancing?RESOLVED: NO, there is no fixed -- function input, other than the IDs. However, allow offsetting with a -- "first" value.
  4. --
  5. 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.
  6. --
  7. If new functions, how to name?RESOLVED: CmdDrawMeshTasks*Other -- options -- considered:
  8. --
  9. 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 don’t support mesh or -- task shaders. This means the change would not be backwards compatible. -- It’s too bad VkShaderStageFlagBits doesn’t have a dedicated "all -- supported graphics stages" bit like -- VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, which would have avoided this -- problem.
  10. --
-- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 -- --

Description

-- -- If the PhysicalDeviceMeshShaderFeaturesNV structure is included -- in the pNext chain of PhysicalDeviceFeatures2, it is -- filled with a value indicating whether the feature is supported. -- PhysicalDeviceMeshShaderFeaturesNV can also be included -- in pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceMeshShaderPropertiesNV -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceMeshShaderPropertiesNV structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- 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 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 -- 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 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

-- -- 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.DrawMeshTasksIndirectCommandNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV 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_device_diagnostic_checkpoints - device extension -- --

VK_NV_device_diagnostic_checkpoints

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- CheckpointDataNV, Queue getQueueCheckpointDataNV :: forall io. MonadIO io => Queue -> io ("checkpointData" ::: Vector CheckpointDataNV) -- | VkQueueFamilyCheckpointPropertiesNV - return structure for queue -- family checkpoint info query -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- PipelineStageFlagBits, StructureType, -- getQueueCheckpointDataNV data CheckpointDataNV CheckpointDataNV :: PipelineStageFlagBits -> Ptr () -> CheckpointDataNV -- | stage indicates 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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.DedicatedAllocationMemoryAllocateInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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. -- -- -- -- 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

-- -- -- --

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 -- pCombinations and INCOMPLETE will be returned instead -- of SUCCESS to indicate that not all the supported values were -- returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the -- PhysicalDeviceCoverageReductionModeFeaturesNV structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceCoverageReductionModeFeaturesNV structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceCoverageReductionModeFeaturesNV can also -- be included in the pNext chain of DeviceCreateInfo to -- enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 present, or if the extension is not enabled, -- the default coverage reduction mode is inferred as follows: -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 specifies 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

-- -- PipelineCoverageReductionStateCreateInfoNV newtype PipelineCoverageReductionStateCreateFlagsNV PipelineCoverageReductionStateCreateFlagsNV :: Flags -> PipelineCoverageReductionStateCreateFlagsNV -- | VkCoverageReductionModeNV - Specify the coverage reduction mode -- --

See Also

-- -- 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.PipelineCoverageReductionStateCreateInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. What matrix properties will be supported in practice?
  2. --
-- -- RESOLVED: In NVIDIA’s initial implementation, we will support: -- -- -- --

Version History

-- -- -- --

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. If -- pPropertyCount is smaller than the number of cooperative -- matrix properties available, INCOMPLETE will be returned -- instead of SUCCESS, to indicate that not all the available -- cooperative matrix properties were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceCooperativeMatrixFeaturesNV -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceCooperativeMatrixFeaturesNV structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceCooperativeMatrixFeaturesNV can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceCooperativeMatrixPropertiesNV -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceCooperativeMatrixPropertiesNV structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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.CooperativeMatrixPropertiesNV 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 on 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). -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, ViewportWScalingNV cmdSetViewportWScalingNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("viewportWScalings" ::: Vector ViewportWScalingNV) -> io () -- | VkViewportWScalingNV - Structure specifying a viewport -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- Device, ImageViewHandleInfoNVX getImageViewHandleNVX :: forall io. MonadIO io => Device -> ImageViewHandleInfoNVX -> io Word32 -- | vkGetImageViewAddressNVX - Get the device address of an image view -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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.ImageViewAddressPropertiesNVX instance GHC.Classes.Eq Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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 [$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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- Pipeline, RayTracingPipelineCreateInfoKHR, -- StructureType data PipelineLibraryCreateInfoKHR PipelineLibraryCreateInfoKHR :: Vector Pipeline -> PipelineLibraryCreateInfoKHR -- | pLibraries is an array of 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- 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 executables associated with the pipeline, at most -- pExecutableCount structures will be written and -- getPipelineExecutablePropertiesKHR will return -- INCOMPLETE. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 -- getPipelineExecutableStatisticsKHR will return -- INCOMPLETE. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 getPipelineExecutableInternalRepresentationsKHR will return -- INCOMPLETE. -- -- 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 -- compile pipeline with the final shader assembly (if any) last. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR structure -- describe the following features: -- --

Description

-- -- If the PhysicalDevicePipelineExecutablePropertiesFeaturesKHR -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR -- can also be included in the pNext chain of -- DeviceCreateInfo to enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- Bool32, StructureType data PhysicalDevicePipelineExecutablePropertiesFeaturesKHR PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: Bool -> PhysicalDevicePipelineExecutablePropertiesFeaturesKHR -- | pipelineExecutableInfo indicates that the implementation -- supports reporting properties and statistics about the executables -- associated with a compiled pipeline. [$sel:pipelineExecutableInfo:PhysicalDevicePipelineExecutablePropertiesFeaturesKHR] :: PhysicalDevicePipelineExecutablePropertiesFeaturesKHR -> Bool -- | VkPipelineInfoKHR - Structure describing a pipeline -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- The stages field may be zero or it may contain -- one or more bits describing the stages principally used to compile -- this pipeline. 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 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

-- -- ShaderStageFlags, StructureType, -- getPipelineExecutablePropertiesKHR data PipelineExecutablePropertiesKHR PipelineExecutablePropertiesKHR :: ShaderStageFlags -> ByteString -> ByteString -> Word32 -> PipelineExecutablePropertiesKHR -- | stages is a bitmask of 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 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 executable. [$sel:description:PipelineExecutablePropertiesKHR] :: PipelineExecutablePropertiesKHR -> ByteString -- | subgroupSize is the subgroup size with which this 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

-- -- 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 executable to query in -- the array of executable properties returned by -- getPipelineExecutablePropertiesKHR. -- -- executableIndex must be less than the number of -- 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

-- -- 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 data, at most dataSize bytes of data will be -- written to pData and -- getPipelineExecutableInternalRepresentationsKHR will return -- INCOMPLETE. 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

-- -- 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 data, as described below. [$sel:dataSize:PipelineExecutableInternalRepresentationKHR] :: PipelineExecutableInternalRepresentationKHR -> Word64 -- | pData is either NULL or a pointer to an block of -- data into which the implementation will write the textual form of 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

-- -- 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 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.PipelineExecutableStatisticValueKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 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'll 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

-- -- -- --

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. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- AcquireProfilingLockInfoKHR, Device acquireProfilingLockKHR :: forall io. MonadIO io => Device -> AcquireProfilingLockInfoKHR -> io () -- | vkReleaseProfilingLockKHR - Releases the profiling lock -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDevicePerformanceQueryPropertiesKHR -- structure describe the following implementation-dependent properties: -- --

Valid Usage (Implicit)

-- -- If the PhysicalDevicePerformanceQueryPropertiesKHR structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent properties. -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 the 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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.AcquireProfilingLockInfoKHR 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 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 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 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.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 GHC.Show.Show Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterResultKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PerformanceQuerySubmitInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- -- --

See Also

-- -- 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 specifies 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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.SemaphoreGetFdInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- Device, MemoryGetFdInfoKHR getMemoryFdKHR :: forall io. MonadIO io => Device -> MemoryGetFdInfoKHR -> io ("fd" ::: Int32) -- | vkGetMemoryFdPropertiesKHR - Get Properties of External Memory File -- Descriptors -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- ExternalMemoryHandleTypeFlagBits, StructureType data ImportMemoryFdInfoKHR ImportMemoryFdInfoKHR :: ExternalMemoryHandleTypeFlagBits -> Int32 -> ImportMemoryFdInfoKHR -- | handleType specifies 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

-- -- 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(2). -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 the type of handle requested. -- -- handleType must have been included in -- ExportMemoryAllocateInfo::handleTypes when -- memory was created -- -- handleType must be defined as a POSIX file descriptor -- handle -- -- 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.MemoryGetFdInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_fd.MemoryFdPropertiesKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- -- --

See Also

-- -- 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 specifies 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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.FenceGetFdInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR 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_transform_feedback - device extension -- --

VK_EXT_transform_feedback

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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_DRAW_INDIRECT_BIT. -- -- 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 vertex processing stage. The vertex stream output queried is zero -- by default, but can be specified with the new -- cmdBeginQueryIndexedEXT and cmdEndQueryIndexedEXT -- commands. -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, QueryPool cmdEndQueryIndexedEXT :: forall io. MonadIO io => CommandBuffer -> QueryPool -> ("query" ::: Word32) -> ("index" ::: Word32) -> io () -- | vkCmdDrawIndirectByteCountEXT - Draw primitives 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceTransformFeedbackFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceTransformFeedbackFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceTransformFeedbackFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceTransformFeedbackPropertiesEXT -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceTransformFeedbackPropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits and properties. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 vertex processing 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

-- -- 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

-- -- 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.PipelineRasterizationStateStreamCreateInfoEXT 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.PhysicalDeviceTransformFeedbackPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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. - and so tying this information directly to layers -- would’ve been awkward at best. -- --

Version History

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 that contains 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 the dynamic sample locations state -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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 by adding a -- PhysicalDeviceSampleLocationsPropertiesEXT structure to the -- pNext chain of PhysicalDeviceProperties2. -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AttachmentSampleLocationsEXT, Extent2D, -- PipelineSampleLocationsStateCreateInfoEXT, -- SampleCountFlagBits, SampleLocationEXT, -- StructureType, SubpassSampleLocationsEXT, -- cmdSetSampleLocationsEXT data SampleLocationsInfoEXT SampleLocationsInfoEXT :: SampleCountFlagBits -> Extent2D -> Vector SampleLocationEXT -> SampleLocationsInfoEXT -- | sampleLocationsPerPixel is a SampleCountFlagBits -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceSampleLocationsPropertiesEXT -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceSampleLocationsPropertiesEXT structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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_line_rasterization - device extension -- --

VK_EXT_line_rasterization

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 the dynamic line width state -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceLineRasterizationFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceLineRasterizationFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceLineRasterizationFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable the feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceLineRasterizationPropertiesEXT -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceLineRasterizationPropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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.PipelineRasterizationLineStateCreateInfoEXT 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.PhysicalDeviceLineRasterizationPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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’s 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’s 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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- ExternalMemoryHandleTypeFlagBits, StructureType data ImportMemoryHostPointerInfoEXT ImportMemoryHostPointerInfoEXT :: ExternalMemoryHandleTypeFlagBits -> Ptr () -> ImportMemoryHostPointerInfoEXT -- | handleType specifies 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

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceExternalMemoryHostPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceExternalMemoryHostPropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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. [$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.PhysicalDeviceExternalMemoryHostPropertiesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_external_memory_host.MemoryHostPointerPropertiesEXT 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_discard_rectangles - device extension -- --

VK_EXT_discard_rectangles

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 -- --

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 state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_DISCARD_RECTANGLE_EXT -- set in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceDiscardRectanglePropertiesEXT -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceDiscardRectanglePropertiesEXT structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- PipelineDiscardRectangleStateCreateInfoEXT newtype PipelineDiscardRectangleStateCreateFlagsEXT PipelineDiscardRectangleStateCreateFlagsEXT :: Flags -> PipelineDiscardRectangleStateCreateFlagsEXT -- | VkDiscardRectangleModeEXT - Specify the discard rectangle mode -- --

See Also

-- -- 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 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdEndConditionalRenderingEXT :: forall io. MonadIO io => CommandBuffer -> io () -- | VkConditionalRenderingBeginInfoEXT - Structure specifying conditional -- rendering begin info -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 info -- --

Description

-- -- If this structure is not present, the behavior is as if -- conditionalRenderingEnable is FALSE. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 -- --

Description

-- -- If the PhysicalDeviceConditionalRenderingFeaturesEXT structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- the implementation-dependent behavior. -- PhysicalDeviceConditionalRenderingFeaturesEXT can also -- be included in pNext chain of DeviceCreateInfo to -- enable the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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.ConditionalRenderingBeginInfoEXT 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.PhysicalDeviceConditionalRenderingFeaturesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT 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_calibrated_timestamps - device extension -- --

VK_EXT_calibrated_timestamps

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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) Shouldn’t 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: -- --
--   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’s 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’s 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 isn’t 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

-- -- -- --

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. If pTimeDomainCount is -- smaller than the number of calibrateable time domains supported for -- the given physicalDevice, INCOMPLETE will be returned -- instead of SUCCESS to indicate that not all the available -- values were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- --
--   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

-- -- 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 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 = 1 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_calibrated_timestamps.CalibratedTimestampInfoEXT 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 getShaderInfoAMD will -- return INCOMPLETE. -- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 info to -- query -- --

See Also

-- -- 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 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.Classes.Eq Vulkan.Extensions.VK_AMD_shader_info.ShaderResourceUsageAMD 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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 -- semaphore. 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

-- -- 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

-- -- Device, SemaphoreSignalInfo signalSemaphore :: forall io. MonadIO io => Device -> SemaphoreSignalInfo -> io () -- | VkPhysicalDeviceTimelineSemaphoreFeatures - Structure describing -- timeline semaphore features that can be supported by an implementation -- --

Members

-- -- The members of the PhysicalDeviceTimelineSemaphoreFeatures -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceTimelineSemaphoreFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceTimelineSemaphoreFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceTimelineSemaphoreProperties -- structure describe the following implementation-dependent limits: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Valid Usage

-- -- -- -- -- -- 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. -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 an array of length -- waitSemaphoreValueCount containing 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 an array of length -- signalSemaphoreValueCount containing 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkSemaphoreType - Sepcifies the type of a semaphore object -- --

See Also

-- -- 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 monotonically 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

-- -- 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.SemaphoreSignalInfo 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.PhysicalDeviceTimelineSemaphoreProperties instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

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 -- monotonically 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’s 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

-- -- -- -- -- --

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

-- -- The members of the PhysicalDeviceImagelessFramebufferFeatures -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceImagelessFramebufferFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceImagelessFramebufferFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable this feature. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- FramebufferAttachmentImageInfo, StructureType data FramebufferAttachmentsCreateInfo FramebufferAttachmentsCreateInfo :: Vector FramebufferAttachmentImageInfo -> FramebufferAttachmentsCreateInfo -- | pAttachmentImageInfos is a pointer to an array of -- FramebufferAttachmentImageInfo instances, each of which -- describes 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)

-- -- -- -- -- --

See Also

-- -- 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 [$sel:layerCount:FramebufferAttachmentImageInfo] :: FramebufferAttachmentImageInfo -> Word32 -- | pViewFormats is an array which lists of all 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkFramebufferCreateFlagBits - Bitmask specifying framebuffer -- properties -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 - Perform an indirect draw with the draw count -- sourced from a buffer -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Buffer, CommandBuffer, DeviceSize cmdDrawIndirectCount :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> io () -- | vkCmdDrawIndexedIndirectCount - Perform an indexed indirect draw with -- the draw count sourced from a buffer -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension is based off the VK_AMD_draw_indirect_count -- extension. This extension allows an application to source the number -- of draw calls for indirect draw calls from a buffer. -- -- Applications might want to do culling on the GPU via a compute shader -- prior to the draw. This enables the application to generate arbitrary -- amounts of draw 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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension allows an application to source the number of draw -- calls for indirect draw calls from a buffer. This enables applications -- to generate arbitrary amounts of draw 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

-- -- -- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceBufferDeviceAddressFeatures -- structure describe 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 -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceBufferDeviceAddressFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 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

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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.DeviceMemoryOpaqueCaptureAddressInfo 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.BufferOpaqueCaptureAddressCreateInfo 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.PhysicalDeviceBufferDeviceAddressFeatures 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- The members of the PhysicalDeviceBufferDeviceAddressFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceBufferDeviceAddressFeaturesEXT structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceBufferDeviceAddressFeaturesEXT can also be -- included in the pNext chain of DeviceCreateInfo to -- enable 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

-- -- 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

-- -- 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.BufferDeviceAddressCreateInfoEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceHostQueryResetFeatures -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceHostQueryResetFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceHostQueryResetFeatures can also be -- included in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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: -- -- 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

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

See Also

-- -- FormatFeatureFlags 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 images. 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. If this bit is not present, linear filtering with -- depth compare disabled is unsupported and linear filtering with depth -- compare enabled is supported, but may compute the filtered -- value in an implementation-dependent manner which differs from the -- normal rules of linear filtering. The resulting value must be -- in the range [0,1] and should be proportional to, or a weighted -- average of, the number of comparison passes or failures. pattern FORMAT_FEATURE_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 that 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 the format can do linear sampler filtering -- (min/magFilter) whilst sampler Y′CBCR conversion is enabled. 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

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

-- --
    --
  1. Are viewports with zero height allowed?RESOLVED: Yes, -- although they have low utility.
  2. --
-- --

Version History

-- -- -- -- -- --

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 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_MAINTENANCE1_SPEC_VERSION = 2 pattern KHR_MAINTENANCE1_SPEC_VERSION :: forall a. Integral a => a type KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" pattern KHR_MAINTENANCE1_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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 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: -- -- -- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- ExternalMemoryHandleTypeFlags, ImportMemoryFdInfoKHR, -- ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, MemoryGetFdInfoKHR, -- MemoryGetWin32HandleInfoKHR, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalImageFormatInfo, -- getMemoryFdPropertiesKHR, -- getMemoryHostPointerPropertiesEXT, -- getMemoryWin32HandlePropertiesKHR 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 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_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

-- -- 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 pattern LUID_SIZE :: forall a. Integral a => a instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo 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.ExternalMemoryProperties 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 don’t 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’s 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 a currently supported -- configuration 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

-- -- -- --

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

-- -- 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

-- -- ExternalFenceHandleTypeFlagBits, StructureType, -- getPhysicalDeviceExternalFenceProperties, -- getPhysicalDeviceExternalFencePropertiesKHR data PhysicalDeviceExternalFenceInfo PhysicalDeviceExternalFenceInfo :: ExternalFenceHandleTypeFlagBits -> PhysicalDeviceExternalFenceInfo -- | handleType is a ExternalFenceHandleTypeFlagBits value -- indicating 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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

-- -- 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.ExternalFenceProperties instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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. If pPhysicalDeviceGroupCount is -- smaller than the number of device groups available, 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap -- --

See Also

-- -- 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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdSetDeviceMask :: forall io. MonadIO io => CommandBuffer -> ("deviceMask" ::: Word32) -> io () -- | vkCmdDispatchBase - Dispatch compute work items -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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 the 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- 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_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_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

-- -- 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 dependency. 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 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

-- -- 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

-- -- 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.DeviceGroupBindSparseInfo 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.MemoryAllocateFlagsInfo 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

-- -- When the implementation sets requiresDedicatedAllocation to -- TRUE, it must also set -- prefersDedicatedAllocation to TRUE. -- -- If the MemoryDedicatedRequirements structure is included in the -- pNext chain of the MemoryRequirements2 structure -- passed as the pMemoryRequirements parameter of a -- getBufferMemoryRequirements2 call, -- requiresDedicatedAllocation may be TRUE under -- one of the following conditions: -- -- -- -- In all other cases, requiresDedicatedAllocation must -- be set to FALSE by the implementation whenever a -- MemoryDedicatedRequirements structure is included in the -- pNext chain of the MemoryRequirements2 structure -- passed to a call to getBufferMemoryRequirements2. -- -- If the MemoryDedicatedRequirements structure is included in the -- pNext chain of the MemoryRequirements2 structure -- passed as the pMemoryRequirements parameter of a -- getBufferMemoryRequirements2 call and -- BUFFER_CREATE_SPARSE_BINDING_BIT was set in -- BufferCreateInfo::flags when buffer was -- created then the implementation must set both -- prefersDedicatedAllocation and -- requiresDedicatedAllocation to FALSE. -- -- If the MemoryDedicatedRequirements structure is included in the -- pNext chain of the MemoryRequirements2 structure -- passed as the pMemoryRequirements parameter of a -- getImageMemoryRequirements2 call, -- requiresDedicatedAllocation may be TRUE under -- one of the following conditions: -- -- -- -- In all other cases, requiresDedicatedAllocation must -- be set to FALSE by the implementation whenever a -- MemoryDedicatedRequirements structure is included in the -- pNext chain of the MemoryRequirements2 structure -- passed to a call to getImageMemoryRequirements2. -- -- If the MemoryDedicatedRequirements structure is included in the -- pNext chain of the MemoryRequirements2 structure -- passed as the pMemoryRequirements parameter of a -- getImageMemoryRequirements2 call and -- IMAGE_CREATE_SPARSE_BINDING_BIT was set in -- ImageCreateInfo::flags when image was created -- then the implementation must set both -- prefersDedicatedAllocation and -- requiresDedicatedAllocation to FALSE. -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- Device, DeviceQueueInfo2, Queue getDeviceQueue2 :: forall io. MonadIO io => Device -> DeviceQueueInfo2 -> io Queue -- | VkProtectedSubmitInfo - Structure indicating whether the submission is -- protected -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 -- --

Description

-- -- If the PhysicalDeviceProtectedMemoryFeatures structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with a value indicating -- whether the feature is supported. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- PhysicalDeviceProperties2, it is filled with a value indicating -- the implementation-dependent behavior. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- Bool32, StructureType data PhysicalDeviceProtectedMemoryProperties PhysicalDeviceProtectedMemoryProperties :: Bool -> PhysicalDeviceProtectedMemoryProperties -- | protectedNoFault specifies the behavior of the implementation -- when protected memory access rules are broken. If -- protectedNoFault is TRUE, breaking those rules will -- not result in process termination or device loss. [$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 instance. If no -- matching flags were specified at device creation time, then -- the handle returned in pQueue must be NULL. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 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 the number of queues -- created for the specified queue family index and -- DeviceQueueCreateFlags member flags equal to this -- flags value when device was created, via the -- queueCount member of the DeviceQueueCreateInfo -- structure [$sel:queueIndex:DeviceQueueInfo2] :: DeviceQueueInfo2 -> Word32 -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- QueueFlags newtype QueueFlagBits QueueFlagBits :: Flags -> QueueFlagBits pattern QUEUE_GRAPHICS_BIT :: QueueFlagBits pattern QUEUE_COMPUTE_BIT :: QueueFlagBits pattern QUEUE_TRANSFER_BIT :: QueueFlagBits pattern QUEUE_SPARSE_BINDING_BIT :: QueueFlagBits pattern QUEUE_PROTECTED_BIT :: QueueFlagBits type QueueFlags = QueueFlagBits -- | VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue -- --

See Also

-- -- 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

-- -- 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_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

-- -- 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

-- -- 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: -- -- 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

-- -- 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.DeviceQueueInfo2 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.PhysicalDeviceProtectedMemoryFeatures instance GHC.Classes.Eq Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo 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

-- -- 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

-- -- SamplerYcbcrConversionInfo, -- createSamplerYcbcrConversion, -- createSamplerYcbcrConversionKHR, -- destroySamplerYcbcrConversion, -- destroySamplerYcbcrConversionKHR newtype SamplerYcbcrConversion SamplerYcbcrConversion :: Word64 -> SamplerYcbcrConversion -- | VkInstance - Opaque handle to an instance object -- --

See Also

-- -- createAndroidSurfaceKHR, createDebugReportCallbackEXT, -- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createInstance, createMacOSSurfaceMVK, -- createMetalSurfaceEXT, 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

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

-- -- acquireFullScreenExclusiveModeEXT, acquireNextImage2KHR, -- acquireNextImageKHR, -- acquirePerformanceConfigurationINTEL, -- acquireProfilingLockKHR, allocateCommandBuffers, -- allocateDescriptorSets, allocateMemory, -- bindAccelerationStructureMemoryNV, bindBufferMemory, -- bindBufferMemory2, bindBufferMemory2KHR, -- bindImageMemory, bindImageMemory2, -- bindImageMemory2KHR, buildAccelerationStructuresKHR, -- compileDeferredNV, copyAccelerationStructureKHR, -- copyAccelerationStructureToMemoryKHR, -- copyMemoryToAccelerationStructureKHR, -- createAccelerationStructureKHR, -- createAccelerationStructureNV, createBuffer, -- createBufferView, createCommandPool, -- createComputePipelines, 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, -- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT, -- deferredOperationJoinKHR, -- destroyAccelerationStructureKHR, -- destroyAccelerationStructureNV, destroyBuffer, -- destroyBufferView, destroyCommandPool, -- 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, deviceWaitIdle, -- displayPowerControlEXT, flushMappedMemoryRanges, -- freeCommandBuffers, freeDescriptorSets, -- freeMemory, getAccelerationStructureBuildSizesKHR, -- getAccelerationStructureDeviceAddressKHR, -- getAccelerationStructureHandleNV, -- getAccelerationStructureMemoryRequirementsNV, -- getAndroidHardwareBufferPropertiesANDROID, -- getBufferDeviceAddress, getBufferDeviceAddressEXT, -- getBufferDeviceAddressKHR, getBufferMemoryRequirements, -- getBufferMemoryRequirements2, -- getBufferMemoryRequirements2KHR, -- getBufferOpaqueCaptureAddress, -- getBufferOpaqueCaptureAddressKHR, -- getCalibratedTimestampsEXT, -- getDeferredOperationMaxConcurrencyKHR, -- getDeferredOperationResultKHR, -- getDescriptorSetLayoutSupport, -- getDescriptorSetLayoutSupportKHR, -- getDeviceAccelerationStructureCompatibilityKHR, -- getDeviceGroupPeerMemoryFeatures, -- getDeviceGroupPeerMemoryFeaturesKHR, -- getDeviceGroupPresentCapabilitiesKHR, -- getDeviceGroupSurfacePresentModes2EXT, -- getDeviceGroupSurfacePresentModesKHR, -- getDeviceMemoryCommitment, -- getDeviceMemoryOpaqueCaptureAddress, -- getDeviceMemoryOpaqueCaptureAddressKHR, -- getDeviceProcAddr, getDeviceQueue, -- getDeviceQueue2, getEventStatus, getFenceFdKHR, -- getFenceStatus, getFenceWin32HandleKHR, -- getGeneratedCommandsMemoryRequirementsNV, -- getImageDrmFormatModifierPropertiesEXT, -- getImageMemoryRequirements, getImageMemoryRequirements2, -- getImageMemoryRequirements2KHR, -- getImageSparseMemoryRequirements, -- getImageSparseMemoryRequirements2, -- getImageSparseMemoryRequirements2KHR, -- getImageSubresourceLayout, getImageViewAddressNVX, -- getImageViewHandleNVX, -- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR, -- getMemoryFdPropertiesKHR, -- getMemoryHostPointerPropertiesEXT, -- getMemoryWin32HandleKHR, getMemoryWin32HandleNV, -- getMemoryWin32HandlePropertiesKHR, -- getPastPresentationTimingGOOGLE, -- getPerformanceParameterINTEL, getPipelineCacheData, -- getPipelineExecutableInternalRepresentationsKHR, -- getPipelineExecutablePropertiesKHR, -- getPipelineExecutableStatisticsKHR, getPrivateDataEXT, -- getQueryPoolResults, -- getRayTracingCaptureReplayShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesNV, -- getRayTracingShaderGroupStackSizeKHR, -- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity, -- getSemaphoreCounterValue, getSemaphoreCounterValueKHR, -- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR, -- getShaderInfoAMD, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- getValidationCacheDataEXT, importFenceFdKHR, -- importFenceWin32HandleKHR, importSemaphoreFdKHR, -- importSemaphoreWin32HandleKHR, -- initializePerformanceApiINTEL, -- invalidateMappedMemoryRanges, mapMemory, -- mergePipelineCaches, mergeValidationCachesEXT, -- registerDeviceEventEXT, registerDisplayEventEXT, -- releaseFullScreenExclusiveModeEXT, -- releasePerformanceConfigurationINTEL, -- releaseProfilingLockKHR, resetCommandPool, -- resetDescriptorPool, resetEvent, resetFences, -- resetQueryPool, resetQueryPoolEXT, -- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT, -- setEvent, setHdrMetadataEXT, setLocalDimmingAMD, -- setPrivateDataEXT, signalSemaphore, -- signalSemaphoreKHR, trimCommandPool, -- trimCommandPoolKHR, uninitializePerformanceApiINTEL, -- unmapMemory, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR, -- updateDescriptorSets, waitForFences, -- 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

-- -- getDeviceQueue, getDeviceQueue2, -- getQueueCheckpointDataNV, queueBeginDebugUtilsLabelEXT, -- queueBindSparse, queueEndDebugUtilsLabelEXT, -- queueInsertDebugUtilsLabelEXT, queuePresentKHR, -- queueSetPerformanceConfigurationINTEL, queueSubmit, -- 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

-- -- SubmitInfo, allocateCommandBuffers, -- beginCommandBuffer, cmdBeginConditionalRenderingEXT, -- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery, -- cmdBeginQueryIndexedEXT, cmdBeginRenderPass, -- cmdBeginRenderPass2, cmdBeginRenderPass2KHR, -- cmdBeginTransformFeedbackEXT, cmdBindDescriptorSets, -- cmdBindIndexBuffer, cmdBindPipeline, -- cmdBindPipelineShaderGroupNV, cmdBindShadingRateImageNV, -- cmdBindTransformFeedbackBuffersEXT, -- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT, -- cmdBlitImage, cmdBlitImage2KHR, -- cmdBuildAccelerationStructureNV, -- cmdBuildAccelerationStructuresIndirectKHR, -- cmdBuildAccelerationStructuresKHR, cmdClearAttachments, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyAccelerationStructureKHR, -- cmdCopyAccelerationStructureNV, -- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer, -- cmdCopyBuffer2KHR, cmdCopyBufferToImage, -- cmdCopyBufferToImage2KHR, cmdCopyImage, -- cmdCopyImage2KHR, cmdCopyImageToBuffer, -- cmdCopyImageToBuffer2KHR, -- cmdCopyMemoryToAccelerationStructureKHR, -- cmdCopyQueryPoolResults, cmdDebugMarkerBeginEXT, -- cmdDebugMarkerEndEXT, cmdDebugMarkerInsertEXT, -- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR, -- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed, -- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount, -- cmdDrawIndexedIndirectCountAMD, -- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect, -- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount, -- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR, -- cmdDrawMeshTasksIndirectCountNV, -- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV, -- cmdEndConditionalRenderingEXT, cmdEndDebugUtilsLabelEXT, -- cmdEndQuery, cmdEndQueryIndexedEXT, -- cmdEndRenderPass, cmdEndRenderPass2, -- cmdEndRenderPass2KHR, cmdEndTransformFeedbackEXT, -- cmdExecuteCommands, cmdExecuteGeneratedCommandsNV, -- cmdFillBuffer, cmdInsertDebugUtilsLabelEXT, -- cmdNextSubpass, cmdNextSubpass2, -- cmdNextSubpass2KHR, cmdPipelineBarrier, -- cmdPreprocessGeneratedCommandsNV, cmdPushConstants, -- cmdPushDescriptorSetKHR, -- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent, -- cmdResetQueryPool, cmdResolveImage, -- cmdResolveImage2KHR, cmdSetBlendConstants, -- cmdSetCheckpointNV, cmdSetCoarseSampleOrderNV, -- cmdSetCullModeEXT, cmdSetDepthBias, -- cmdSetDepthBounds, cmdSetDepthBoundsTestEnableEXT, -- cmdSetDepthCompareOpEXT, cmdSetDepthTestEnableEXT, -- cmdSetDepthWriteEnableEXT, cmdSetDeviceMask, -- cmdSetDeviceMaskKHR, cmdSetDiscardRectangleEXT, -- cmdSetEvent, cmdSetExclusiveScissorNV, -- cmdSetFragmentShadingRateEnumNV, -- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT, -- cmdSetLineStippleEXT, cmdSetLineWidth, -- cmdSetPerformanceMarkerINTEL, -- cmdSetPerformanceOverrideINTEL, -- cmdSetPerformanceStreamMarkerINTEL, -- cmdSetPrimitiveTopologyEXT, -- cmdSetRayTracingPipelineStackSizeKHR, -- cmdSetSampleLocationsEXT, cmdSetScissor, -- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask, -- cmdSetStencilOpEXT, cmdSetStencilReference, -- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask, -- cmdSetViewport, cmdSetViewportShadingRatePaletteNV, -- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT, -- cmdTraceRaysIndirectKHR, cmdTraceRaysKHR, -- cmdTraceRaysNV, cmdUpdateBuffer, cmdWaitEvents, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteBufferMarkerAMD, cmdWriteTimestamp, -- 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

-- -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryInfo, BindImageMemoryInfo, -- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- SparseImageMemoryBind, SparseMemoryBind, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory, -- bindBufferMemory, bindImageMemory, freeMemory, -- getDeviceMemoryCommitment, getMemoryWin32HandleNV, -- mapMemory, unmapMemory newtype DeviceMemory DeviceMemory :: Word64 -> DeviceMemory -- | VkCommandPool - Opaque handle to a command pool object -- --

See Also

-- -- CommandBufferAllocateInfo, createCommandPool, -- destroyCommandPool, freeCommandBuffers, -- resetCommandPool, trimCommandPool, -- trimCommandPoolKHR newtype CommandPool CommandPool :: Word64 -> CommandPool -- | VkBuffer - Opaque handle to a buffer object -- --

See Also

-- -- AccelerationStructureCreateInfoKHR, -- BindBufferMemoryInfo, BufferDeviceAddressInfo, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferViewCreateInfo, ConditionalRenderingBeginInfoEXT, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorBufferInfo, GeneratedCommandsInfoNV, -- GeometryAABBNV, GeometryTrianglesNV, -- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo, -- SparseBufferMemoryBindInfo, 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, -- cmdWriteBufferMarkerAMD, createBuffer, -- destroyBuffer, getBufferMemoryRequirements newtype Buffer Buffer :: Word64 -> Buffer -- | VkImage - Opaque handle to an image object -- --

See Also

-- -- BindImageMemoryInfo, BlitImageInfo2KHR, -- CopyBufferToImageInfo2KHR, CopyImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- ImageMemoryBarrier, 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

-- -- 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

-- -- DescriptorImageInfo, DescriptorSetLayoutBinding, -- ImageViewHandleInfoNVX, createSampler, -- destroySampler newtype Sampler Sampler :: Word64 -> Sampler -- | VkDescriptorSet - Opaque handle to a descriptor set object -- --

See Also

-- -- CopyDescriptorSet, WriteDescriptorSet, -- allocateDescriptorSets, cmdBindDescriptorSets, -- freeDescriptorSets, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR newtype DescriptorSet DescriptorSet :: Word64 -> DescriptorSet -- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout -- object -- --

See Also

-- -- DescriptorSetAllocateInfo, -- DescriptorUpdateTemplateCreateInfo, -- PipelineLayoutCreateInfo, createDescriptorSetLayout, -- destroyDescriptorSetLayout newtype DescriptorSetLayout DescriptorSetLayout :: Word64 -> DescriptorSetLayout 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.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.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

-- -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- createIndirectCommandsLayoutNV, -- destroyIndirectCommandsLayoutNV newtype IndirectCommandsLayoutNV IndirectCommandsLayoutNV :: Word64 -> IndirectCommandsLayoutNV -- | VkValidationCacheEXT - Opaque handle to a validation cache object -- --

See Also

-- -- ShaderModuleValidationCacheCreateInfoEXT, -- createValidationCacheEXT, destroyValidationCacheEXT, -- getValidationCacheDataEXT, mergeValidationCachesEXT newtype ValidationCacheEXT ValidationCacheEXT :: Word64 -> ValidationCacheEXT -- | VkAccelerationStructureKHR - Opaque handle to an acceleration -- structure object -- --

See Also

-- -- 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

-- -- AccelerationStructureMemoryRequirementsInfoNV, -- BindAccelerationStructureMemoryInfoNV, -- WriteDescriptorSetAccelerationStructureNV, -- cmdBuildAccelerationStructureNV, -- cmdCopyAccelerationStructureNV, -- cmdWriteAccelerationStructuresPropertiesNV, -- createAccelerationStructureNV, -- destroyAccelerationStructureNV, -- getAccelerationStructureHandleNV newtype AccelerationStructureNV AccelerationStructureNV :: Word64 -> AccelerationStructureNV -- | VkPerformanceConfigurationINTEL - Device configuration for performance -- queries -- --

See Also

-- -- acquirePerformanceConfigurationINTEL, -- queueSetPerformanceConfigurationINTEL, -- releasePerformanceConfigurationINTEL newtype PerformanceConfigurationINTEL PerformanceConfigurationINTEL :: Word64 -> PerformanceConfigurationINTEL -- | VkDeferredOperationKHR - A deferred operation -- --

Description

-- -- This handle refers to a tracking structure which manages the execution -- state for a deferred command. -- --

See Also

-- -- 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

-- -- createPrivateDataSlotEXT, destroyPrivateDataSlotEXT, -- getPrivateDataEXT, setPrivateDataEXT newtype PrivateDataSlotEXT PrivateDataSlotEXT :: Word64 -> PrivateDataSlotEXT -- | VkDisplayKHR - Opaque handle to a display object -- --

See Also

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- getRandROutputDisplayEXT, getWinrtDisplayNV, -- registerDisplayEventEXT, releaseDisplayEXT newtype DisplayKHR DisplayKHR :: Word64 -> DisplayKHR -- | VkDisplayModeKHR - Opaque handle to a display mode object -- --

See Also

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD newtype SwapchainKHR SwapchainKHR :: Word64 -> SwapchainKHR -- | VkDebugReportCallbackEXT - Opaque handle to a debug report callback -- object -- --

See Also

-- -- 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

-- -- createDebugUtilsMessengerEXT, -- destroyDebugUtilsMessengerEXT newtype DebugUtilsMessengerEXT DebugUtilsMessengerEXT :: Word64 -> DebugUtilsMessengerEXT -- | VkInstance - Opaque handle to an instance object -- --

See Also

-- -- createAndroidSurfaceKHR, createDebugReportCallbackEXT, -- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createInstance, createMacOSSurfaceMVK, -- createMetalSurfaceEXT, 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

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

-- -- acquireFullScreenExclusiveModeEXT, acquireNextImage2KHR, -- acquireNextImageKHR, -- acquirePerformanceConfigurationINTEL, -- acquireProfilingLockKHR, allocateCommandBuffers, -- allocateDescriptorSets, allocateMemory, -- bindAccelerationStructureMemoryNV, bindBufferMemory, -- bindBufferMemory2, bindBufferMemory2KHR, -- bindImageMemory, bindImageMemory2, -- bindImageMemory2KHR, buildAccelerationStructuresKHR, -- compileDeferredNV, copyAccelerationStructureKHR, -- copyAccelerationStructureToMemoryKHR, -- copyMemoryToAccelerationStructureKHR, -- createAccelerationStructureKHR, -- createAccelerationStructureNV, createBuffer, -- createBufferView, createCommandPool, -- createComputePipelines, 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, -- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT, -- deferredOperationJoinKHR, -- destroyAccelerationStructureKHR, -- destroyAccelerationStructureNV, destroyBuffer, -- destroyBufferView, destroyCommandPool, -- 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, deviceWaitIdle, -- displayPowerControlEXT, flushMappedMemoryRanges, -- freeCommandBuffers, freeDescriptorSets, -- freeMemory, getAccelerationStructureBuildSizesKHR, -- getAccelerationStructureDeviceAddressKHR, -- getAccelerationStructureHandleNV, -- getAccelerationStructureMemoryRequirementsNV, -- getAndroidHardwareBufferPropertiesANDROID, -- getBufferDeviceAddress, getBufferDeviceAddressEXT, -- getBufferDeviceAddressKHR, getBufferMemoryRequirements, -- getBufferMemoryRequirements2, -- getBufferMemoryRequirements2KHR, -- getBufferOpaqueCaptureAddress, -- getBufferOpaqueCaptureAddressKHR, -- getCalibratedTimestampsEXT, -- getDeferredOperationMaxConcurrencyKHR, -- getDeferredOperationResultKHR, -- getDescriptorSetLayoutSupport, -- getDescriptorSetLayoutSupportKHR, -- getDeviceAccelerationStructureCompatibilityKHR, -- getDeviceGroupPeerMemoryFeatures, -- getDeviceGroupPeerMemoryFeaturesKHR, -- getDeviceGroupPresentCapabilitiesKHR, -- getDeviceGroupSurfacePresentModes2EXT, -- getDeviceGroupSurfacePresentModesKHR, -- getDeviceMemoryCommitment, -- getDeviceMemoryOpaqueCaptureAddress, -- getDeviceMemoryOpaqueCaptureAddressKHR, -- getDeviceProcAddr, getDeviceQueue, -- getDeviceQueue2, getEventStatus, getFenceFdKHR, -- getFenceStatus, getFenceWin32HandleKHR, -- getGeneratedCommandsMemoryRequirementsNV, -- getImageDrmFormatModifierPropertiesEXT, -- getImageMemoryRequirements, getImageMemoryRequirements2, -- getImageMemoryRequirements2KHR, -- getImageSparseMemoryRequirements, -- getImageSparseMemoryRequirements2, -- getImageSparseMemoryRequirements2KHR, -- getImageSubresourceLayout, getImageViewAddressNVX, -- getImageViewHandleNVX, -- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR, -- getMemoryFdPropertiesKHR, -- getMemoryHostPointerPropertiesEXT, -- getMemoryWin32HandleKHR, getMemoryWin32HandleNV, -- getMemoryWin32HandlePropertiesKHR, -- getPastPresentationTimingGOOGLE, -- getPerformanceParameterINTEL, getPipelineCacheData, -- getPipelineExecutableInternalRepresentationsKHR, -- getPipelineExecutablePropertiesKHR, -- getPipelineExecutableStatisticsKHR, getPrivateDataEXT, -- getQueryPoolResults, -- getRayTracingCaptureReplayShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesNV, -- getRayTracingShaderGroupStackSizeKHR, -- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity, -- getSemaphoreCounterValue, getSemaphoreCounterValueKHR, -- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR, -- getShaderInfoAMD, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- getValidationCacheDataEXT, importFenceFdKHR, -- importFenceWin32HandleKHR, importSemaphoreFdKHR, -- importSemaphoreWin32HandleKHR, -- initializePerformanceApiINTEL, -- invalidateMappedMemoryRanges, mapMemory, -- mergePipelineCaches, mergeValidationCachesEXT, -- registerDeviceEventEXT, registerDisplayEventEXT, -- releaseFullScreenExclusiveModeEXT, -- releasePerformanceConfigurationINTEL, -- releaseProfilingLockKHR, resetCommandPool, -- resetDescriptorPool, resetEvent, resetFences, -- resetQueryPool, resetQueryPoolEXT, -- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT, -- setEvent, setHdrMetadataEXT, setLocalDimmingAMD, -- setPrivateDataEXT, signalSemaphore, -- signalSemaphoreKHR, trimCommandPool, -- trimCommandPoolKHR, uninitializePerformanceApiINTEL, -- unmapMemory, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR, -- updateDescriptorSets, waitForFences, -- 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

-- -- getDeviceQueue, getDeviceQueue2, -- getQueueCheckpointDataNV, queueBeginDebugUtilsLabelEXT, -- queueBindSparse, queueEndDebugUtilsLabelEXT, -- queueInsertDebugUtilsLabelEXT, queuePresentKHR, -- queueSetPerformanceConfigurationINTEL, queueSubmit, -- 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

-- -- SubmitInfo, allocateCommandBuffers, -- beginCommandBuffer, cmdBeginConditionalRenderingEXT, -- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery, -- cmdBeginQueryIndexedEXT, cmdBeginRenderPass, -- cmdBeginRenderPass2, cmdBeginRenderPass2KHR, -- cmdBeginTransformFeedbackEXT, cmdBindDescriptorSets, -- cmdBindIndexBuffer, cmdBindPipeline, -- cmdBindPipelineShaderGroupNV, cmdBindShadingRateImageNV, -- cmdBindTransformFeedbackBuffersEXT, -- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT, -- cmdBlitImage, cmdBlitImage2KHR, -- cmdBuildAccelerationStructureNV, -- cmdBuildAccelerationStructuresIndirectKHR, -- cmdBuildAccelerationStructuresKHR, cmdClearAttachments, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyAccelerationStructureKHR, -- cmdCopyAccelerationStructureNV, -- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer, -- cmdCopyBuffer2KHR, cmdCopyBufferToImage, -- cmdCopyBufferToImage2KHR, cmdCopyImage, -- cmdCopyImage2KHR, cmdCopyImageToBuffer, -- cmdCopyImageToBuffer2KHR, -- cmdCopyMemoryToAccelerationStructureKHR, -- cmdCopyQueryPoolResults, cmdDebugMarkerBeginEXT, -- cmdDebugMarkerEndEXT, cmdDebugMarkerInsertEXT, -- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR, -- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed, -- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount, -- cmdDrawIndexedIndirectCountAMD, -- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect, -- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount, -- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR, -- cmdDrawMeshTasksIndirectCountNV, -- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV, -- cmdEndConditionalRenderingEXT, cmdEndDebugUtilsLabelEXT, -- cmdEndQuery, cmdEndQueryIndexedEXT, -- cmdEndRenderPass, cmdEndRenderPass2, -- cmdEndRenderPass2KHR, cmdEndTransformFeedbackEXT, -- cmdExecuteCommands, cmdExecuteGeneratedCommandsNV, -- cmdFillBuffer, cmdInsertDebugUtilsLabelEXT, -- cmdNextSubpass, cmdNextSubpass2, -- cmdNextSubpass2KHR, cmdPipelineBarrier, -- cmdPreprocessGeneratedCommandsNV, cmdPushConstants, -- cmdPushDescriptorSetKHR, -- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent, -- cmdResetQueryPool, cmdResolveImage, -- cmdResolveImage2KHR, cmdSetBlendConstants, -- cmdSetCheckpointNV, cmdSetCoarseSampleOrderNV, -- cmdSetCullModeEXT, cmdSetDepthBias, -- cmdSetDepthBounds, cmdSetDepthBoundsTestEnableEXT, -- cmdSetDepthCompareOpEXT, cmdSetDepthTestEnableEXT, -- cmdSetDepthWriteEnableEXT, cmdSetDeviceMask, -- cmdSetDeviceMaskKHR, cmdSetDiscardRectangleEXT, -- cmdSetEvent, cmdSetExclusiveScissorNV, -- cmdSetFragmentShadingRateEnumNV, -- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT, -- cmdSetLineStippleEXT, cmdSetLineWidth, -- cmdSetPerformanceMarkerINTEL, -- cmdSetPerformanceOverrideINTEL, -- cmdSetPerformanceStreamMarkerINTEL, -- cmdSetPrimitiveTopologyEXT, -- cmdSetRayTracingPipelineStackSizeKHR, -- cmdSetSampleLocationsEXT, cmdSetScissor, -- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask, -- cmdSetStencilOpEXT, cmdSetStencilReference, -- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask, -- cmdSetViewport, cmdSetViewportShadingRatePaletteNV, -- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT, -- cmdTraceRaysIndirectKHR, cmdTraceRaysKHR, -- cmdTraceRaysNV, cmdUpdateBuffer, cmdWaitEvents, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteBufferMarkerAMD, cmdWriteTimestamp, -- 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

-- -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryInfo, BindImageMemoryInfo, -- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- SparseImageMemoryBind, SparseMemoryBind, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory, -- bindBufferMemory, bindImageMemory, freeMemory, -- getDeviceMemoryCommitment, getMemoryWin32HandleNV, -- mapMemory, unmapMemory newtype DeviceMemory DeviceMemory :: Word64 -> DeviceMemory -- | VkCommandPool - Opaque handle to a command pool object -- --

See Also

-- -- CommandBufferAllocateInfo, createCommandPool, -- destroyCommandPool, freeCommandBuffers, -- resetCommandPool, trimCommandPool, -- trimCommandPoolKHR newtype CommandPool CommandPool :: Word64 -> CommandPool -- | VkBuffer - Opaque handle to a buffer object -- --

See Also

-- -- AccelerationStructureCreateInfoKHR, -- BindBufferMemoryInfo, BufferDeviceAddressInfo, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferViewCreateInfo, ConditionalRenderingBeginInfoEXT, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorBufferInfo, GeneratedCommandsInfoNV, -- GeometryAABBNV, GeometryTrianglesNV, -- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo, -- SparseBufferMemoryBindInfo, 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, -- cmdWriteBufferMarkerAMD, createBuffer, -- destroyBuffer, getBufferMemoryRequirements newtype Buffer Buffer :: Word64 -> Buffer -- | VkBufferView - Opaque handle to a buffer view object -- --

See Also

-- -- WriteDescriptorSet, createBufferView, -- destroyBufferView newtype BufferView BufferView :: Word64 -> BufferView -- | VkImage - Opaque handle to an image object -- --

See Also

-- -- BindImageMemoryInfo, BlitImageInfo2KHR, -- CopyBufferToImageInfo2KHR, CopyImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- ImageMemoryBarrier, 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

-- -- DescriptorImageInfo, FramebufferCreateInfo, -- ImageViewHandleInfoNVX, RenderPassAttachmentBeginInfo, -- cmdBindShadingRateImageNV, createImageView, -- destroyImageView, getImageViewAddressNVX newtype ImageView ImageView :: Word64 -> ImageView -- | VkShaderModule - Opaque handle to a shader module object -- --

See Also

-- -- PipelineShaderStageCreateInfo, createShaderModule, -- destroyShaderModule newtype ShaderModule ShaderModule :: Word64 -> ShaderModule -- | VkPipeline - Opaque handle to a pipeline object -- --

See Also

-- -- 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

-- -- 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

-- -- DescriptorImageInfo, DescriptorSetLayoutBinding, -- ImageViewHandleInfoNVX, createSampler, -- destroySampler newtype Sampler Sampler :: Word64 -> Sampler -- | VkDescriptorSet - Opaque handle to a descriptor set object -- --

See Also

-- -- CopyDescriptorSet, WriteDescriptorSet, -- allocateDescriptorSets, cmdBindDescriptorSets, -- freeDescriptorSets, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR newtype DescriptorSet DescriptorSet :: Word64 -> DescriptorSet -- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout -- object -- --

See Also

-- -- DescriptorSetAllocateInfo, -- DescriptorUpdateTemplateCreateInfo, -- PipelineLayoutCreateInfo, createDescriptorSetLayout, -- destroyDescriptorSetLayout newtype DescriptorSetLayout DescriptorSetLayout :: Word64 -> DescriptorSetLayout -- | VkFence - Opaque handle to a fence object -- --

See Also

-- -- AcquireNextImageInfoKHR, FenceGetFdInfoKHR, -- FenceGetWin32HandleInfoKHR, ImportFenceFdInfoKHR, -- ImportFenceWin32HandleInfoKHR, acquireNextImageKHR, -- createFence, destroyFence, getFenceStatus, -- queueBindSparse, queueSubmit, -- registerDeviceEventEXT, registerDisplayEventEXT, -- resetFences, waitForFences newtype Fence Fence :: Word64 -> Fence -- | VkSemaphore - Opaque handle to a semaphore object -- --

See Also

-- -- AcquireNextImageInfoKHR, BindSparseInfo, -- ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, PresentInfoKHR, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreWaitInfo, -- SubmitInfo, acquireNextImageKHR, createSemaphore, -- destroySemaphore, getSemaphoreCounterValue, -- getSemaphoreCounterValueKHR newtype Semaphore Semaphore :: Word64 -> Semaphore -- | VkQueryPool - Opaque handle to a query pool object -- --

See Also

-- -- cmdBeginQuery, cmdBeginQueryIndexedEXT, -- cmdCopyQueryPoolResults, cmdEndQuery, -- cmdEndQueryIndexedEXT, cmdResetQueryPool, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteTimestamp, createQueryPool, -- destroyQueryPool, getQueryPoolResults, -- resetQueryPool, resetQueryPoolEXT newtype QueryPool QueryPool :: Word64 -> QueryPool -- | VkFramebuffer - Opaque handle to a framebuffer object -- --

See Also

-- -- CommandBufferInheritanceInfo, RenderPassBeginInfo, -- createFramebuffer, destroyFramebuffer newtype Framebuffer Framebuffer :: Word64 -> Framebuffer -- | VkRenderPass - Opaque handle to a render pass object -- --

See Also

-- -- CommandBufferInheritanceInfo, FramebufferCreateInfo, -- GraphicsPipelineCreateInfo, RenderPassBeginInfo, -- createRenderPass, createRenderPass2, -- createRenderPass2KHR, destroyRenderPass, -- getRenderAreaGranularity newtype RenderPass RenderPass :: Word64 -> RenderPass -- | VkPipelineCache - Opaque handle to a pipeline cache object -- --

See Also

-- -- createComputePipelines, createGraphicsPipelines, -- createPipelineCache, createRayTracingPipelinesKHR, -- createRayTracingPipelinesNV, destroyPipelineCache, -- getPipelineCacheData, mergePipelineCaches newtype PipelineCache PipelineCache :: Word64 -> PipelineCache -- | VkDescriptorUpdateTemplate - Opaque handle to a descriptor update -- template -- --

See Also

-- -- 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

-- -- SamplerYcbcrConversionInfo, -- createSamplerYcbcrConversion, -- createSamplerYcbcrConversionKHR, -- destroySamplerYcbcrConversion, -- destroySamplerYcbcrConversionKHR newtype SamplerYcbcrConversion SamplerYcbcrConversion :: Word64 -> SamplerYcbcrConversion 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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_NV_acquire_winrt_display - device extension -- --

VK_NV_acquire_winrt_display

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- getRandROutputDisplayEXT, getWinrtDisplayNV, -- registerDisplayEventEXT, releaseDisplayEXT newtype DisplayKHR DisplayKHR :: Word64 -> DisplayKHR -- |

Name

-- -- VK_NN_vi_surface - instance extension -- --

VK_NN_vi_surface

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_xlib_surface.XlibSurfaceCreateInfoKHR 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_xcb_surface.XcbSurfaceCreateInfoKHR 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- In all cases the problem can be worked around by creating a new window -- object. -- -- Technical details include: -- -- -- --

Version History

-- -- -- -- -- --

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 SurfaceKHR object for an -- Win32 native window -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_win32_surface.Win32SurfaceCreateInfoKHR 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_wayland_surface.WaylandSurfaceCreateInfoKHR 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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. 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: getPhysicalDeviceSurfaceCapabilities2KHR, -- getPhysicalDeviceSurfaceFormats2KHR, and -- getPhysicalDeviceSurfacePresentModes2EXT. -- -- 3) Should Vulkan include 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

-- -- -- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- Bool32, PhysicalDevice, SurfaceKHR getPhysicalDeviceSurfaceSupportKHR :: forall io. MonadIO io => PhysicalDevice -> ("queueFamilyIndex" ::: Word32) -> SurfaceKHR -> io ("supported" ::: Bool) -- | vkGetPhysicalDeviceSurfaceCapabilitiesKHR - Query surface capabilities -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. If pSurfaceFormatCount is smaller than the number of -- format pairs supported for the given surface, -- INCOMPLETE will be returned instead of SUCCESS to -- indicate that not all the available values 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. If pPresentModeCount is smaller than the number of -- presentation modes supported for the given surface, -- INCOMPLETE will be returned instead of SUCCESS to -- indicate that not all the available values were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 but implementations may support additional usages. [$sel:supportedUsageFlags:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> ImageUsageFlags -- | VkSurfaceFormatKHR - Structure describing a supported swapchain -- format-color space pair -- --

See Also

-- -- 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

-- -- 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

-- -- CompositeAlphaFlagsKHR, SwapchainCreateInfoKHR newtype CompositeAlphaFlagBitsKHR CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha channel, 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 channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are expected to already be multiplied -- by the alpha channel by the application. pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are not expected to already be -- multiplied by the alpha channel by the application; instead, the -- compositor will multiply the non-alpha channels of the image by the -- alpha channel 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 channel 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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_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 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 GHC.Classes.Eq Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR 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 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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 renderpasses. -- -- 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

-- -- -- --

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

-- -- 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 = 0 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

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 renderpass 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. -- --

Version History

-- -- -- --

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

-- -- 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

-- -- 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 = 1 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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 re-used 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): -- -- -- -- Not all surfaces will support all of these modes, so the modes -- supported will be returned using a surface info 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 where 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 -- indicates 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 optimal -- 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 that -- these 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 lifetime 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 channel 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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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. If -- pSwapchainImageCount is smaller than the number of -- presentable images for swapchain, INCOMPLETE will be -- returned instead of SUCCESS to indicate that not all the -- available values were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- -- 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. -- -- 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. If -- pRectCount is smaller than the number of rectangles used for -- the given surface, INCOMPLETE will be returned instead -- of SUCCESS to indicate that not all the available values 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 (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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. -- -- -- -- Note -- -- Applications 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. -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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. [$sel:imageExtent:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Extent2D [$sel:imageArrayLayers:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Word32 [$sel:imageUsage:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> ImageUsageFlags [$sel:imageSharingMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SharingMode [$sel:queueFamilyIndices:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Vector Word32 [$sel:preTransform:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SurfaceTransformFlagBitsKHR [$sel:compositeAlpha:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> CompositeAlphaFlagBitsKHR [$sel:presentMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> PresentModeKHR [$sel:clipped:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Bool [$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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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

-- -- 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

-- -- 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

-- -- 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 are 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD 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

-- -- 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

-- -- CompositeAlphaFlagsKHR, SwapchainCreateInfoKHR newtype CompositeAlphaFlagBitsKHR CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha channel, 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 channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are expected to already be multiplied -- by the alpha channel by the application. pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are not expected to already be -- multiplied by the alpha channel by the application; instead, the -- compositor will multiply the non-alpha channels of the image by the -- alpha channel 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 channel 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

-- -- 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_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.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR 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.AcquireNextImageInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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 are 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD 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

-- -- 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_get_surface_capabilities2 - instance extension -- --

VK_KHR_get_surface_capabilities2

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 2) Should additional WSI query functions be extended? -- -- RESOLVED: -- -- -- --

Version History

-- -- -- --

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

-- -- 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. If pSurfaceFormatCount is smaller than the number of -- format tuples supported for the surface parameters described in -- pSurfaceInfo, INCOMPLETE will be returned instead of -- SUCCESS to indicate that not all the available values were -- returned. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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

-- -- 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 but implementations may support additional usages. [$sel:supportedUsageFlags:SurfaceCapabilitiesKHR] :: SurfaceCapabilitiesKHR -> ImageUsageFlags -- | VkSurfaceFormatKHR - Structure describing a supported swapchain -- format-color space pair -- --

See Also

-- -- 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

-- -- CompositeAlphaFlagsKHR, SwapchainCreateInfoKHR newtype CompositeAlphaFlagBitsKHR CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha channel, 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 channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are expected to already be multiplied -- by the alpha channel by the application. pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are not expected to already be -- multiplied by the alpha channel by the application; instead, the -- compositor will multiply the non-alpha channels of the image by the -- alpha channel 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 channel 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 present 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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD newtype SwapchainKHR SwapchainKHR :: Word64 -> SwapchainKHR -- | VkSwapchainCreateInfoKHR - Structure specifying parameters of a newly -- created swapchain object -- --

Description

-- -- 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. -- -- -- -- Note -- -- Applications 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. -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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. [$sel:imageExtent:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Extent2D [$sel:imageArrayLayers:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Word32 [$sel:imageUsage:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> ImageUsageFlags [$sel:imageSharingMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SharingMode [$sel:queueFamilyIndices:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Vector Word32 [$sel:preTransform:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> SurfaceTransformFlagBitsKHR [$sel:compositeAlpha:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> CompositeAlphaFlagBitsKHR [$sel:presentMode:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> PresentModeKHR [$sel:clipped:SwapchainCreateInfoKHR] :: SwapchainCreateInfoKHR (es :: [Type]) -> Bool [$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

-- -- 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

-- -- CompositeAlphaFlagsKHR, SwapchainCreateInfoKHR newtype CompositeAlphaFlagBitsKHR CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha channel, 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 channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are expected to already be multiplied -- by the alpha channel by the application. pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are not expected to already be -- multiplied by the alpha channel by the application; instead, the -- compositor will multiply the non-alpha channels of the image by the -- alpha channel 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 channel 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

-- -- 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

-- -- 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 are 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 info 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 info 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

-- -- -- -- -- --

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. If -- pPropertyCount is smaller than the number of display devices -- available for physicalDevice, INCOMPLETE will be -- returned instead of SUCCESS to indicate that not all the -- available values were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 display planes for -- physicalDevice, at most pDisplayCount handles will -- be written. If pDisplayCount is smaller than the number of -- displays usable with the specified planeIndex for -- physicalDevice, INCOMPLETE will be returned instead of -- SUCCESS to indicate that not all the available values were -- returned. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. If pPropertyCount is smaller than the number -- of display modes available on the specified display for -- physicalDevice, INCOMPLETE will be returned instead of -- SUCCESS to indicate that not all the available values were -- returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- DisplayKHR, DisplayModePropertiesKHR, -- PhysicalDevice getDisplayModePropertiesKHR :: forall io. MonadIO io => PhysicalDevice -> DisplayKHR -> io (Result, "properties" ::: Vector DisplayModePropertiesKHR) -- | vkCreateDisplayModeKHR - Create a display mode -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 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. It can be NULL if no -- suitable name is available. If not NULL, the memory it points -- to must remain accessible 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

-- -- 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

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 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 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. -- -- 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

-- -- 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

-- -- 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 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

-- -- 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

-- -- DisplaySurfaceCreateInfoKHR newtype DisplaySurfaceCreateFlagsKHR DisplaySurfaceCreateFlagsKHR :: Flags -> DisplaySurfaceCreateFlagsKHR type DisplayPlaneAlphaFlagsKHR = DisplayPlaneAlphaFlagBitsKHR -- | VkDisplayPlaneAlphaFlagBitsKHR - Alpha blending type -- --

See Also

-- -- 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 channel 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 channels. 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 channels. 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

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- getRandROutputDisplayEXT, getWinrtDisplayNV, -- registerDisplayEventEXT, releaseDisplayEXT newtype DisplayKHR DisplayKHR :: Word64 -> DisplayKHR -- | VkDisplayModeKHR - Opaque handle to a display mode object -- --

See Also

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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

-- -- 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_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 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.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 GHC.Classes.Eq Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 2) Should extensible input structs be added for these new functions: -- -- RESOLVED: -- -- -- -- 3) Should additional display query functions be extended? -- -- RESOLVED: -- -- -- --

Version History

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- PhysicalDevice getDisplayPlaneCapabilities2KHR :: forall io. MonadIO io => PhysicalDevice -> DisplayPlaneInfo2KHR -> io DisplayPlaneCapabilities2KHR -- | VkDisplayProperties2KHR - Structure describing an available display -- device -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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. -- -- -- -- The members of DisplayPlaneInfo2KHR correspond to the arguments -- to getDisplayPlaneCapabilitiesKHR, with sType and -- pNext added for extensibility. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- getRandROutputDisplayEXT, getWinrtDisplayNV, -- registerDisplayEventEXT, releaseDisplayEXT newtype DisplayKHR DisplayKHR :: Word64 -> DisplayKHR -- | VkDisplayModeKHR - Opaque handle to a display mode object -- --

See Also

-- -- 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

-- -- 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 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. It can be NULL if no -- suitable name is available. If not NULL, the memory it points -- to must remain accessible 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

-- -- 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

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 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 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. -- -- 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

-- -- 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

-- -- 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 channel 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 channels. 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 channels. pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR :: DisplayPlaneAlphaFlagBitsKHR type DisplayPlaneAlphaFlagsKHR = DisplayPlaneAlphaFlagBitsKHR -- | VkSurfaceTransformFlagBitsKHR - presentation transforms supported on a -- device -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD 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

-- -- 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

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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

-- -- 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

-- -- 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 (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. If -- pRectCount is smaller than the number of rectangles used for -- the given surface, INCOMPLETE will be returned instead -- of SUCCESS to indicate that not all the available values 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 (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 are 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 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

-- --
    --
  1. Should this entension have a VkPhysicalDevice*FeaturesKHR -- structure?
  2. --
-- -- 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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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: -- -- -- -- Implementations must guarantee forward progress by enforcing -- the following invariants: -- --
    --
  1. If only one thread has invoked deferredOperationJoinKHR on -- a given operation, that thread must execute the operation to -- completion and return SUCCESS.
  2. --
  3. If multiple threads have concurrently invoked -- deferredOperationJoinKHR on the same operation, then at least -- one of them must complete the operation and return -- SUCCESS.
  4. --
-- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_android_surface.AndroidSurfaceCreateInfoKHR 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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

-- -- Device, InitializePerformanceApiInfoINTEL initializePerformanceApiINTEL :: forall io. MonadIO io => Device -> ("initializeInfo" ::: InitializePerformanceApiInfoINTEL) -> io () -- | vkUninitializePerformanceApiINTEL - Uninitialize a device for -- performance queries -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- CommandBuffer, PerformanceMarkerInfoINTEL cmdSetPerformanceMarkerINTEL :: forall io. MonadIO io => CommandBuffer -> PerformanceMarkerInfoINTEL -> io () -- | vkCmdSetPerformanceStreamMarkerINTEL - Markers -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- CommandBuffer, PerformanceStreamMarkerInfoINTEL cmdSetPerformanceStreamMarkerINTEL :: forall io. MonadIO io => CommandBuffer -> PerformanceStreamMarkerInfoINTEL -> io () -- | vkCmdSetPerformanceOverrideINTEL - Performance override settings -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- CommandBuffer, PerformanceOverrideInfoINTEL cmdSetPerformanceOverrideINTEL :: forall io. MonadIO io => CommandBuffer -> PerformanceOverrideInfoINTEL -> io () -- | vkAcquirePerformanceConfigurationINTEL - Acquire the performance query -- capability -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- Device, PerformanceConfigurationAcquireInfoINTEL, -- PerformanceConfigurationINTEL acquirePerformanceConfigurationINTEL :: forall io. MonadIO io => Device -> PerformanceConfigurationAcquireInfoINTEL -> io PerformanceConfigurationINTEL -- | vkReleasePerformanceConfigurationINTEL - Release a configuration to -- capture performance data -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- Device, PerformanceConfigurationINTEL releasePerformanceConfigurationINTEL :: forall io. MonadIO io => Device -> PerformanceConfigurationINTEL -> io () -- | vkQueueSetPerformanceConfigurationINTEL - Set a performance query -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- PerformanceConfigurationINTEL, Queue queueSetPerformanceConfigurationINTEL :: forall io. MonadIO io => Queue -> PerformanceConfigurationINTEL -> io () -- | vkGetPerformanceParameterINTEL - Query performance capabilities of the -- device -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 info -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- acquirePerformanceConfigurationINTEL, -- queueSetPerformanceConfigurationINTEL, -- releasePerformanceConfigurationINTEL newtype PerformanceConfigurationINTEL PerformanceConfigurationINTEL :: Word64 -> PerformanceConfigurationINTEL 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL 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.QueryPoolPerformanceQueryCreateInfoINTEL 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.PerformanceConfigurationAcquireInfoINTEL 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.Show.Show Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceStreamMarkerInfoINTEL instance GHC.Classes.Eq Vulkan.Extensions.VK_INTEL_performance_query.PerformanceMarkerInfoINTEL 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. If -- pPresentationTimingCount is smaller than the number of -- newly-available timing records for the given swapchain, -- INCOMPLETE will be returned instead of SUCCESS to -- indicate that not all the available values were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 -- --

See Also

-- -- 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, but does not need a specific -- desiredPresentTime. [$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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD newtype SwapchainKHR SwapchainKHR :: Word64 -> SwapchainKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimeGOOGLE instance GHC.Classes.Eq Vulkan.Extensions.VK_GOOGLE_display_timing.PastPresentationTimingGOOGLE instance GHC.Classes.Eq Vulkan.Extensions.VK_GOOGLE_display_timing.RefreshCycleDurationGOOGLE 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_GGP_stream_descriptor_surface.StreamDescriptorSurfaceCreateInfoGGP 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface.ImagePipeSurfaceCreateInfoFUCHSIA 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.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_EXT_validation_cache - device extension -- --

VK_EXT_validation_cache

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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. 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- ValidationCacheCreateInfoEXT newtype ValidationCacheCreateFlagsEXT ValidationCacheCreateFlagsEXT :: Flags -> ValidationCacheCreateFlagsEXT -- | VkValidationCacheHeaderVersionEXT - Encode validation cache version -- --

See Also

-- -- 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

-- -- ShaderModuleValidationCacheCreateInfoEXT, -- createValidationCacheEXT, destroyValidationCacheEXT, -- getValidationCacheDataEXT, mergeValidationCachesEXT newtype ValidationCacheEXT ValidationCacheEXT :: Word64 -> ValidationCacheEXT 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- The members of the PhysicalDevicePrivateDataFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDevicePrivateDataFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDevicePrivateDataFeaturesEXT can also be used in -- the pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- createPrivateDataSlotEXT, destroyPrivateDataSlotEXT, -- getPrivateDataEXT, setPrivateDataEXT newtype PrivateDataSlotEXT PrivateDataSlotEXT :: Word64 -> PrivateDataSlotEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_private_data.PrivateDataSlotCreateInfoEXT 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.PhysicalDevicePrivateDataFeaturesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_private_data.DevicePrivateDataCreateInfoEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_metal_surface.MetalSurfaceCreateInfoEXT 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 that contains 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

-- -- -- -- -- --

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 - function to set Hdr metadata -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- Device, HdrMetadataEXT, SwapchainKHR setHdrMetadataEXT :: forall io. MonadIO io => Device -> ("swapchains" ::: Vector SwapchainKHR) -> ("metadata" ::: Vector HdrMetadataEXT) -> io () -- | VkXYColorEXT - structure to specify X,Y chromaticity coordinates -- --

See Also

-- -- HdrMetadataEXT data XYColorEXT XYColorEXT :: Float -> Float -> XYColorEXT [$sel:x:XYColorEXT] :: XYColorEXT -> Float [$sel:y:XYColorEXT] :: XYColorEXT -> Float -- | VkHdrMetadataEXT - structure to specify Hdr metadata -- --

Valid Usage (Implicit)

-- -- Note -- -- The validity and use of this data is outside the scope of Vulkan. -- --

See Also

-- -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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

-- -- -- -- -- --

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 (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD 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

-- -- 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

-- -- 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

-- -- 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.SurfaceFullScreenExclusiveWin32InfoEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceFullScreenExclusiveInfoEXT 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.SurfaceCapabilitiesFullScreenExclusiveEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 -- --

Members

-- -- All members of SurfaceCapabilities2EXT are identical to the -- corresponding members of SurfaceCapabilitiesKHR where one -- exists. The remaining members are: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- CompositeAlphaFlagsKHR, Extent2D, -- ImageUsageFlags, StructureType, -- SurfaceCounterFlagsEXT, SurfaceTransformFlagBitsKHR, -- SurfaceTransformFlagsKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT data SurfaceCapabilities2EXT SurfaceCapabilities2EXT :: Word32 -> Word32 -> Extent2D -> Extent2D -> Extent2D -> Word32 -> SurfaceTransformFlagsKHR -> SurfaceTransformFlagBitsKHR -> CompositeAlphaFlagsKHR -> ImageUsageFlags -> SurfaceCounterFlagsEXT -> SurfaceCapabilities2EXT [$sel:minImageCount:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Word32 [$sel:maxImageCount:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Word32 [$sel:currentExtent:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Extent2D [$sel:minImageExtent:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Extent2D [$sel:maxImageExtent:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Extent2D [$sel:maxImageArrayLayers:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> Word32 [$sel:supportedTransforms:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> SurfaceTransformFlagsKHR [$sel:currentTransform:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> SurfaceTransformFlagBitsKHR [$sel:supportedCompositeAlpha:SurfaceCapabilities2EXT] :: SurfaceCapabilities2EXT -> CompositeAlphaFlagsKHR [$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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- 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

-- -- CompositeAlphaFlagsKHR, SwapchainCreateInfoKHR newtype CompositeAlphaFlagBitsKHR CompositeAlphaFlagBitsKHR :: Flags -> CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha channel, 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 channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are expected to already be multiplied -- by the alpha channel by the application. pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR -- | COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha channel, if -- it exists, of the images is respected in the compositing process. The -- non-alpha channels of the image are not expected to already be -- multiplied by the alpha channel by the application; instead, the -- compositor will multiply the non-alpha channels of the image by the -- alpha channel 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 channel 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

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- Device, DisplayKHR, DisplayPowerInfoEXT displayPowerControlEXT :: forall io. MonadIO io => Device -> DisplayKHR -> DisplayPowerInfoEXT -> io () -- | vkRegisterDeviceEventEXT - Signal a fence when a device event occurs -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD newtype SwapchainKHR SwapchainKHR :: Word64 -> SwapchainKHR -- | VkSurfaceCounterFlagBitsEXT - Surface-relative counter types -- --

See Also

-- -- 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.DisplayEventInfoEXT 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.DeviceEventInfoEXT 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.DisplayPowerInfoEXT 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.SwapchainCounterCreateInfoEXT 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, -- createAndroidSurfaceKHR, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createMacOSSurfaceMVK, createMetalSurfaceEXT, -- createStreamDescriptorSurfaceGGP, createViSurfaceNN, -- createWaylandSurfaceKHR, createWin32SurfaceKHR, -- createXcbSurfaceKHR, createXlibSurfaceKHR, -- destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, -- getPhysicalDevicePresentRectanglesKHR, -- getPhysicalDeviceSurfaceCapabilities2EXT, -- getPhysicalDeviceSurfaceCapabilitiesKHR, -- getPhysicalDeviceSurfaceFormatsKHR, -- getPhysicalDeviceSurfacePresentModesKHR, -- getPhysicalDeviceSurfaceSupportKHR newtype SurfaceKHR SurfaceKHR :: Word64 -> SurfaceKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT 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.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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- getRandROutputDisplayEXT, getWinrtDisplayNV, -- registerDisplayEventEXT, releaseDisplayEXT newtype DisplayKHR DisplayKHR :: Word64 -> DisplayKHR -- |

Name

-- -- VK_EXT_debug_utils - instance extension -- --

VK_EXT_debug_utils

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 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. This callback is only valid for the -- duration of the createInstance and the destroyInstance -- call. Use createDebugUtilsMessengerEXT to create persistent -- callback objects. -- -- 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)vkGetDeviceProcAddr(device, "vkCreateDebugUtilsMessengerEXT");
--   PFN_vkDestroyDebugUtilsMessengerEXT pfnDestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)vkGetDeviceProcAddr(device, "vkDestroyDebugUtilsMessengerEXT");
--   
--   VkDebugUtilsMessengeCreateInfoEXT 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.pfnCallback = 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 VkDevice device;
--   extern VkImage image;
--   
--   // Must call extension functions through a function pointer:
--   PFN_vkSetDebugUtilsObjectNameEXT pfnSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)vkGetDeviceProcAddr(device, "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,                                    // object
--       "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 VkDevice device;
--   extern VkCommandBuffer commandBuffer;
--   
--   // Must call extension functions through a function pointer:
--   PFN_vkQueueBeginDebugUtilsLabelEXT pfnQueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)vkGetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT");
--   PFN_vkQueueEndDebugUtilsLabelEXT pfnQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)vkGetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT");
--   PFN_vkCmdBeginDebugUtilsLabelEXT pfnCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)vkGetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT");
--   PFN_vkCmdEndDebugUtilsLabelEXT pfnCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)vkGetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT");
--   PFN_vkCmdInsertDebugUtilsLabelEXT pfnCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)vkGetDeviceProcAddr(device, "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 won’t expose the new functionality -- immediately, then what’s 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’s 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

-- -- -- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- DebugUtilsObjectNameInfoEXT, Device setDebugUtilsObjectNameEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectNameInfoEXT -> io () -- | vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- DebugUtilsObjectTagInfoEXT, Device setDebugUtilsObjectTagEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectTagInfoEXT -> io () -- | vkQueueBeginDebugUtilsLabelEXT - Open a queue debug label region -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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)

-- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Queue queueEndDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> io () -- | vkQueueInsertDebugUtilsLabelEXT - Insert a label into a queue -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- DebugUtilsLabelEXT, Queue queueInsertDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () -- | vkCmdBeginDebugUtilsLabelEXT - Open a command buffer debug label -- region -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdEndDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> io () -- | vkCmdInsertDebugUtilsLabelEXT - Insert a label into a command buffer -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, DebugUtilsLabelEXT cmdInsertDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () -- | vkCreateDebugUtilsMessengerEXT - Create a debug messenger object -- --

Valid Usage (Implicit)

-- -- -- -- -- --

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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- 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

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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: -- --
    --
  1. The implementation will perform a bitwise AND of the event’s -- DebugUtilsMessageSeverityFlagBitsEXT with the -- messageSeverity provided during creation of the -- DebugUtilsMessengerEXT object.
    1. If the value is 0, the -- message is skipped.
  2. --
  3. The implementation will perform bitwise AND of the event’s -- DebugUtilsMessageTypeFlagBitsEXT with the messageType -- provided during the creation of the DebugUtilsMessengerEXT -- object.
    1. If the value is 0, the message is -- skipped.
  4. --
  5. The callback will trigger a debug message for the current -- event
  6. --
-- -- 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, -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- DebugUtilsMessengerCallbackDataEXT newtype DebugUtilsMessengerCallbackDataFlagsEXT DebugUtilsMessengerCallbackDataFlagsEXT :: Flags -> DebugUtilsMessengerCallbackDataFlagsEXT type DebugUtilsMessageSeverityFlagsEXT = DebugUtilsMessageSeverityFlagBitsEXT -- | VkDebugUtilsMessageSeverityFlagBitsEXT - Bitmask specifying which -- severities of events cause a debug messenger callback -- --

See Also

-- -- 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

-- -- 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 must not call -- destroyDebugUtilsMessengerEXT. -- -- 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. -- --

See Also

-- -- 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

-- -- createDebugUtilsMessengerEXT, -- destroyDebugUtilsMessengerEXT newtype DebugUtilsMessengerEXT DebugUtilsMessengerEXT :: Word64 -> DebugUtilsMessengerEXT 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 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.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.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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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. This callback is only valid for the -- duration of the createInstance and the destroyInstance -- call. Use createDebugReportCallbackEXT to create persistent -- callback objects. -- -- 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. -- --

Version History

-- -- -- -- -- --

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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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, 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

-- -- 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

-- -- 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_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_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

-- -- 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 = 9 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

-- -- createDebugReportCallbackEXT, -- destroyDebugReportCallbackEXT newtype DebugReportCallbackEXT DebugReportCallbackEXT :: Word64 -> DebugReportCallbackEXT 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 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 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_KHR_acceleration_structure - device extension -- --

VK_KHR_acceleration_structure

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

New Object Types

-- -- -- --

New Commands

-- -- -- -- -- --

New Structures

-- -- -- -- -- --

New Unions

-- -- -- -- -- --

New Enums

-- -- -- -- -- --

New Bitmasks

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

Issues

-- --
    --
  1. How does this extension differ from VK_NV_ray_tracing?
  2. --
-- -- DISCUSSION: -- -- The following is a summary of the main functional differences between -- VK_KHR_acceleration_structure and VK_NV_ray_tracing: -- -- -- --
    --
  1. Can you give a more detailed comparision of differences and -- similarities between VK_NV_ray_tracing and -- VK_KHR_acceleration_structure?
  2. --
-- -- DISCUSSION: -- -- The following is a more detailed comparision of which commands, -- structures, and enums are aliased, changed, or removed. -- -- -- --
    --
  1. What are the changes between the public provisional -- (VK_KHR_ray_tracing v8) release and the internal provisional -- (VK_KHR_ray_tracing v9) release?
  2. --
-- -- -- --
    --
  1. What are the changes between the internal provisional -- (VK_KHR_ray_tracing v9) release and the final -- (VK_KHR_acceleration_structure v11) release?
  2. --
-- -- -- --
    --
  1. What is ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR for?
  2. --
-- -- RESOLVED: It is primarily intended for API layering. In DXR, the -- acceleration structure is basically just a buffer in a special layout, -- and you don’t 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 type instead. Applications which are written -- directly for Vulkan should not use it. -- --

Version History

-- -- -- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- AccelerationStructureKHR, AllocationCallbacks, -- Device destroyAccelerationStructureKHR :: forall io. MonadIO io => Device -> AccelerationStructureKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io () -- | vkCmdCopyAccelerationStructureKHR - Copy an acceleration structure -- --

Description

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureKHR, AllocationCallbacks, -- Device createAccelerationStructureKHR :: forall io. MonadIO io => Device -> AccelerationStructureCreateInfoKHR -> ("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 io r. MonadIO io => Device -> AccelerationStructureCreateInfoKHR -> 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 -- AccelerationStructureBuildGeometryInfoKHRscratchData -- 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 -- AccelerationStructureBuildGeometryInfoKHRsrcAccelerationStructure -- and -- AccelerationStructureBuildGeometryInfoKHRdstAccelerationStructure. -- -- Accesses to other input buffers as identified by any used values of -- AccelerationStructureGeometryTrianglesDataKHRvertexData, -- AccelerationStructureGeometryTrianglesDataKHRindexData, -- AccelerationStructureGeometryTrianglesDataKHRtransformData, -- AccelerationStructureGeometryAabbsDataKHRdata, and -- AccelerationStructureGeometryInstancesDataKHRdata -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 of type of -- 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)

-- -- -- -- -- --

See Also

-- -- 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: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureBuildTypeKHR, Device getAccelerationStructureBuildSizesKHR :: forall io. MonadIO io => Device -> AccelerationStructureBuildTypeKHR -> ("buildInfo" ::: AccelerationStructureBuildGeometryInfoKHR) -> ("maxPrimitiveCounts" ::: Vector Word32) -> io ("sizeInfo" ::: AccelerationStructureBuildSizesInfoKHR) -- | VkWriteDescriptorSetAccelerationStructureKHR - Structure specifying -- acceleration structure descriptor info -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccelerationStructureKHR, StructureType data WriteDescriptorSetAccelerationStructureKHR WriteDescriptorSetAccelerationStructureKHR :: Vector AccelerationStructureKHR -> WriteDescriptorSetAccelerationStructureKHR -- | pAccelerationStructures are 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

-- -- The members of the -- PhysicalDeviceAccelerationStructureFeaturesKHR structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceAccelerationStructureFeaturesKHR structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceAccelerationStructureFeaturesKHR can also -- be used in the pNext chain of DeviceCreateInfo to -- enable the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- If the PhysicalDeviceAccelerationStructurePropertiesKHR -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- -- Limits specified by this structure must match those specified -- with the same name in PhysicalDeviceRayTracingPropertiesNV. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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. [$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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccelerationStructureGeometryDataKHR, -- DeviceOrHostAddressConstKHR, DeviceSize, Format, -- IndexType, StructureType data AccelerationStructureGeometryTrianglesDataKHR AccelerationStructureGeometryTrianglesDataKHR :: Format -> DeviceOrHostAddressConstKHR -> DeviceSize -> Word32 -> IndexType -> DeviceOrHostAddressConstKHR -> DeviceOrHostAddressConstKHR -> AccelerationStructureGeometryTrianglesDataKHR -- | vertexFormat is the Format of each vertex element. [$sel:vertexFormat:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> Format -- | vertexData is a device or host address to memory containing -- vertex data for this geometry. [$sel:vertexData:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> DeviceOrHostAddressConstKHR -- | vertexStride is the stride in bytes between each vertex. [$sel:vertexStride:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> DeviceSize -- | maxVertex is the highest index of a vertex that will be -- addressed by a build command using this structure. [$sel:maxVertex:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> Word32 -- | indexType is the IndexType of each index element. [$sel:indexType:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> IndexType -- | indexData is a device or host address to memory containing -- index data for this geometry. [$sel:indexData:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> DeviceOrHostAddressConstKHR -- | transformData is a device or host address to memory -- containing an optional reference to a TransformMatrixKHR -- structure defining a transformation that should be applied to vertices -- in this geometry. [$sel:transformData:AccelerationStructureGeometryTrianglesDataKHR] :: AccelerationStructureGeometryTrianglesDataKHR -> DeviceOrHostAddressConstKHR -- | VkAccelerationStructureGeometryAabbsDataKHR - Structure specifying -- axis-aligned bounding box geometry in a bottom-level acceleration -- structure -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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. -- -- data must be a valid -- DeviceOrHostAddressConstKHR union [$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

-- -- 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 if -- arrayOfPointers is TRUE, or the address of an array of -- AccelerationStructureInstanceKHR structures. -- -- data must be a valid -- DeviceOrHostAddressConstKHR union [$sel:data':AccelerationStructureGeometryInstancesDataKHR] :: AccelerationStructureGeometryInstancesDataKHR -> DeviceOrHostAddressConstKHR -- | VkAccelerationStructureGeometryKHR - Structure specifying geometries -- to be built into an acceleration structure -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccelerationStructureGeometryKHR, -- AccelerationStructureKHR, AccelerationStructureTypeKHR, -- BuildAccelerationStructureFlagsKHR, -- BuildAccelerationStructureModeKHR, -- DeviceOrHostAddressKHR, StructureType, -- buildAccelerationStructuresKHR, -- cmdBuildAccelerationStructuresIndirectKHR, -- cmdBuildAccelerationStructuresKHR, -- getAccelerationStructureBuildSizesKHR data AccelerationStructureBuildGeometryInfoKHR AccelerationStructureBuildGeometryInfoKHR :: AccelerationStructureTypeKHR -> BuildAccelerationStructureFlagsKHR -> BuildAccelerationStructureModeKHR -> AccelerationStructureKHR -> AccelerationStructureKHR -> Word32 -> 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 points 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 points to the target acceleration -- structure for the build. [$sel:dstAccelerationStructure:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> AccelerationStructureKHR -- | geometryCount specifies the number of geometries that will be -- built into dstAccelerationStructure. [$sel:geometryCount:AccelerationStructureBuildGeometryInfoKHR] :: AccelerationStructureBuildGeometryInfoKHR -> Word32 -- | 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

-- -- 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 BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT to all buffers used -- as storage for an acceleration structure where deviceAddress -- is not zero. 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccelerationStructureCreateFlagsKHR, -- AccelerationStructureTypeKHR, Buffer, -- DeviceAddress, DeviceSize, StructureType, -- createAccelerationStructureKHR data AccelerationStructureCreateInfoKHR AccelerationStructureCreateInfoKHR :: AccelerationStructureCreateFlagsKHR -> Buffer -> DeviceSize -> DeviceSize -> AccelerationStructureTypeKHR -> DeviceAddress -> AccelerationStructureCreateInfoKHR -- | createFlags is a bitmask of -- AccelerationStructureCreateFlagBitsKHR specifying additional -- creation parameters of the acceleration structure. [$sel:createFlags:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR -> AccelerationStructureCreateFlagsKHR -- | buffer is the buffer on which the acceleration structure will -- be stored. [$sel:buffer:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR -> 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 -> DeviceSize -- | size is the size required for the acceleration structure. [$sel:size:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR -> DeviceSize -- | type is a AccelerationStructureTypeKHR value -- specifying the type of acceleration structure that will be created. [$sel:type':AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR -> AccelerationStructureTypeKHR -- | deviceAddress is the device address requested for the -- acceleration structure if the -- accelerationStructureCaptureReplay feature is being used. [$sel:deviceAddress:AccelerationStructureCreateInfoKHR] :: AccelerationStructureCreateInfoKHR -> DeviceAddress -- | VkAabbPositionsKHR - Structure specifying two opposing corners of an -- axis-aligned bounding box -- --

Valid Usage

-- --

See Also

-- -- No cross-references are available 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

-- -- -- --

See Also

-- -- AccelerationStructureInstanceKHR 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 spec 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

-- -- 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 int32_t was specified in their place -- -- [$sel:instanceCustomIndex:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32 -- | mask is an 8-bit visibility mask for the geometry. The -- instance may only be hit if rayMask & 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 int32_t was specified -- in their place -- -- [$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

-- -- 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

-- -- 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 -- 2*UUID_SIZE uint8_t values [$sel:versionData:AccelerationStructureVersionInfoKHR] :: AccelerationStructureVersionInfoKHR -> ByteString -- | VkCopyAccelerationStructureInfoKHR - Parameters for copying an -- acceleration structure -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 that -- specifies additional operations to perform during the copy. [$sel:mode:CopyAccelerationStructureInfoKHR] :: CopyAccelerationStructureInfoKHR -> CopyAccelerationStructureModeKHR -- | VkCopyAccelerationStructureToMemoryInfoKHR - Parameters for -- serializing an acceleration structure -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 that -- specifies additional operations to perform during the copy. [$sel:mode:CopyAccelerationStructureToMemoryInfoKHR] :: CopyAccelerationStructureToMemoryInfoKHR -> CopyAccelerationStructureModeKHR -- | VkCopyMemoryToAccelerationStructureInfoKHR - Parameters for -- deserializing an acceleration structure -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 that -- specifies 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

-- -- 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 :: 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

-- -- 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_FRONT_COUNTERCLOCKWISE_BIT_KHR -- indicates that the front face of the triangle for culling purposes is -- the face that is counter clockwise in object space relative to the ray -- origin. Because the facing is determined in object space, an instance -- transform matrix does not change the winding, but a geometry transform -- does. pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_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

-- -- 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

-- -- BuildAccelerationStructureFlagsKHR newtype BuildAccelerationStructureFlagBitsKHR BuildAccelerationStructureFlagBitsKHR :: Flags -> BuildAccelerationStructureFlagBitsKHR -- | BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates -- that the specified acceleration structure can be updated with -- update of TRUE in -- cmdBuildAccelerationStructuresKHR or -- 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 build, potentially at the expense -- of build time or trace performance. pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR type AccelerationStructureCreateFlagsKHR = AccelerationStructureCreateFlagBitsKHR -- | VkAccelerationStructureCreateFlagBitsKHR - Bitmask specifying -- additional creation parameters for acceleration structure -- --

See Also

-- -- 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 -- | VkCopyAccelerationStructureModeKHR - Acceleration structure copy mode -- --

See Also

-- -- 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. 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. 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

-- -- 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

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureCreateInfoKHR 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

-- -- 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

-- -- 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

-- -- getDeviceAccelerationStructureCompatibilityKHR newtype AccelerationStructureCompatibilityKHR AccelerationStructureCompatibilityKHR :: Int32 -> AccelerationStructureCompatibilityKHR -- | ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR when the -- pVersion version acceleration structure is compatibile with -- device. pattern ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR :: AccelerationStructureCompatibilityKHR -- | ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR when the -- pVersion version acceleration structure is not compatibile -- with device. pattern ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR :: AccelerationStructureCompatibilityKHR type KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 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

-- -- 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

-- -- 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

-- -- 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_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_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT 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 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.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 GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR 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.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 GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR 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 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 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.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.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 GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryDataKHR instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR instance GHC.Show.Show Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AabbPositionsKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildRangeInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR 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.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR 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.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR 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.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.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR instance Foreign.Storable.Storable Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR 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.ToCStruct Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR instance Vulkan.Zero.Zero Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR 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_EXT_debug_marker - device extension -- --

VK_EXT_debug_marker

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- DebugMarkerObjectNameInfoEXT, Device debugMarkerSetObjectNameEXT :: forall io. MonadIO io => Device -> DebugMarkerObjectNameInfoEXT -> io () -- | vkDebugMarkerSetObjectTagEXT - Attach arbitrary data to an object -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- DebugMarkerObjectTagInfoEXT, Device debugMarkerSetObjectTagEXT :: forall io. MonadIO io => Device -> DebugMarkerObjectTagInfoEXT -> io () -- | vkCmdDebugMarkerBeginEXT - Open a command buffer marker region -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdDebugMarkerEndEXT :: forall io. MonadIO io => CommandBuffer -> io () -- | vkCmdDebugMarkerInsertEXT - Insert a marker label into a command -- buffer -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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_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_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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- DisplayPlanePropertiesKHR, DisplayPropertiesKHR, -- acquireWinrtDisplayNV, acquireXlibDisplayEXT, -- createDisplayModeKHR, displayPowerControlEXT, -- getDisplayModeProperties2KHR, -- getDisplayModePropertiesKHR, -- getDisplayPlaneSupportedDisplaysKHR, -- getRandROutputDisplayEXT, getWinrtDisplayNV, -- registerDisplayEventEXT, releaseDisplayEXT newtype DisplayKHR DisplayKHR :: Word64 -> DisplayKHR type Display = Ptr () -- |

Name

-- -- VK_AMD_display_native_hdr - device extension -- --

VK_AMD_display_native_hdr

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- This extension introduces the following display native HDR features to -- Vulkan: -- -- -- --

New Commands

-- -- -- --

New Structures

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

Issues

-- -- None. -- --

Examples

-- -- None. -- --

Version History

-- -- -- --

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)

-- -- -- -- -- --

Valid Usage

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 presented 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

-- -- AcquireNextImageInfoKHR, -- BindImageMemorySwapchainInfoKHR, -- ImageSwapchainCreateInfoKHR, PresentInfoKHR, -- SwapchainCreateInfoKHR, -- acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, -- createSharedSwapchainsKHR, createSwapchainKHR, -- destroySwapchainKHR, getPastPresentationTimingGOOGLE, -- getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, -- setLocalDimmingAMD 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.SwapchainDisplayNativeHdrCreateInfoAMD instance GHC.Classes.Eq Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 the -- parameter update template will be used with. All descriptor sets which -- are going to be updated through the newly created descriptor update -- template must be created with this layout. -- 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

-- -- 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

-- -- DescriptorUpdateTemplateCreateInfo newtype DescriptorUpdateTemplateCreateFlags DescriptorUpdateTemplateCreateFlags :: Flags -> DescriptorUpdateTemplateCreateFlags -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkDescriptorUpdateTemplateType - Indicates the valid usage of the -- descriptor update template -- --

See Also

-- -- 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

-- -- 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_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_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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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 getPipelineCacheData will -- return INCOMPLETE. 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. -- -- Applications can store the data retrieved from the pipeline -- cache, and use these data, possibly in a future run of the -- application, to populate new pipeline cache objects. The results of -- pipeline compiles, 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 pipeline cache header version -- PIPELINE_CACHE_HEADER_VERSION_ONE -- -- The first four bytes encode the length of the entire pipeline cache -- header, in bytes. This value includes all fields in the header -- including the pipeline cache version field and the size of the length -- field. -- -- The next four bytes encode the pipeline cache version, as described -- for PipelineCacheHeaderVersion. A consumer of the pipeline -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- createComputePipelines, createGraphicsPipelines, -- createPipelineCache, createRayTracingPipelinesKHR, -- createRayTracingPipelinesNV, destroyPipelineCache, -- getPipelineCacheData, mergePipelineCaches newtype PipelineCache PipelineCache :: Word64 -> PipelineCache -- | VkPipelineCacheCreateFlagBits - Bitmask specifying the behavior of the -- pipeline cache -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- Device, DeviceMemory, DeviceSize, Image bindImageMemory :: forall io. MonadIO io => Device -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> io () -- | VkMemoryRequirements - Structure specifying memory requirements -- --

See Also

-- -- 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

-- -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryInfo, BindImageMemoryInfo, -- DeviceMemoryOpaqueCaptureAddressInfo, MappedMemoryRange, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- SparseImageMemoryBind, SparseMemoryBind, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, allocateMemory, -- bindBufferMemory, bindImageMemory, freeMemory, -- getDeviceMemoryCommitment, getMemoryWin32HandleNV, -- mapMemory, 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. -- If pPropertyCount is smaller than the number of layers -- available, INCOMPLETE will be returned instead of -- SUCCESS, to indicate that not all the available layer -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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. -- If pPropertyCount is smaller than the number of layers -- available, INCOMPLETE will be returned instead of -- SUCCESS, to indicate that not all the available layer -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- LayerProperties, PhysicalDevice enumerateDeviceLayerProperties :: forall io. MonadIO io => PhysicalDevice -> io (Result, "properties" ::: Vector LayerProperties) -- | VkLayerProperties - Structure specifying layer properties -- --

See Also

-- -- 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. If -- pPropertyCount is smaller than the number of extensions -- available, 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- ExtensionProperties, PhysicalDevice enumerateDeviceExtensionProperties :: forall io. MonadIO io => PhysicalDevice -> ("layerName" ::: Maybe ByteString) -> io (Result, "properties" ::: Vector ExtensionProperties) -- | VkExtensionProperties - Structure specifying an extension properties -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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 (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- Device, Event resetEvent :: forall io. MonadIO io => Device -> Event -> io () -- | VkEventCreateInfo - Structure specifying parameters of a newly created -- event -- --

Valid Usage (Implicit)

-- --

See Also

-- -- EventCreateFlags, StructureType, createEvent data EventCreateInfo EventCreateInfo :: EventCreateFlags -> EventCreateInfo -- | flags is reserved for future use. -- -- flags must be 0 [$sel:flags:EventCreateInfo] :: EventCreateInfo -> EventCreateFlags -- | VkEvent - Opaque handle to an event object -- --

See Also

-- -- cmdResetEvent, cmdSetEvent, cmdWaitEvents, -- createEvent, destroyEvent, getEventStatus, -- resetEvent, setEvent newtype Event Event :: Word64 -> Event -- | VkEventCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- EventCreateInfo newtype EventCreateFlags EventCreateFlags :: Flags -> EventCreateFlags 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- CommandBufferAllocateInfo, createCommandPool, -- destroyCommandPool, freeCommandBuffers, -- resetCommandPool, trimCommandPool, -- trimCommandPoolKHR newtype CommandPool CommandPool :: Word64 -> CommandPool -- | VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a -- command pool -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- ExternalSemaphoreHandleTypeFlags, -- ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- PhysicalDeviceExternalSemaphoreInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR 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 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 by 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 type ExternalSemaphoreHandleTypeFlags = ExternalSemaphoreHandleTypeFlagBits -- | VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of -- an external semaphore handle type -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkImageCreateFlagBits - Bitmask specifying additional parameters of an -- image -- --

Description

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

See Also

-- -- 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: -- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- BindSparseInfo, Fence, Queue queueBindSparse :: forall io. MonadIO io => Queue -> ("bindInfo" ::: Vector (SomeStruct BindSparseInfo)) -> Fence -> io () -- | VkSparseImageFormatProperties - Structure specifying sparse image -- format properties -- --

See Also

-- -- 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

-- -- DeviceSize, SparseImageFormatProperties, -- SparseImageMemoryRequirements2, -- getImageSparseMemoryRequirements data SparseImageMemoryRequirements SparseImageMemoryRequirements :: SparseImageFormatProperties -> Word32 -> DeviceSize -> DeviceSize -> DeviceSize -> SparseImageMemoryRequirements [$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

-- -- ImageAspectFlags, SparseImageMemoryBind, -- getImageSubresourceLayout data ImageSubresource ImageSubresource :: ImageAspectFlags -> Word32 -> Word32 -> ImageSubresource -- | aspectMask is a ImageAspectFlags 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: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 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 info -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 info -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- BindImagePlaneMemoryInfo, 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 sparse resource operations. pattern IMAGE_ASPECT_METADATA_BIT :: 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

-- -- 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

-- -- 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.SparseMemoryBind instance GHC.Classes.Eq Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- Device, ImageSparseMemoryRequirementsInfo2, -- SparseImageMemoryRequirements2 getImageSparseMemoryRequirements2 :: forall io. MonadIO io => Device -> ImageSparseMemoryRequirementsInfo2 -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2) -- | VkBufferMemoryRequirementsInfo2 - (None) -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- MemoryRequirements, StructureType, -- getBufferMemoryRequirements2, -- getBufferMemoryRequirements2KHR, -- 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

-- -- SparseImageMemoryRequirements, StructureType, -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageSparseMemoryRequirementsInfo2 instance GHC.Classes.Eq Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.BufferMemoryRequirementsInfo2 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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. -- -- If the shader stage fails to compile ERROR_INVALID_SHADER_NV -- will be generated and the compile log will be reported back to the -- application by VK_EXT_debug_report if enabled. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- PipelineShaderStageCreateInfo, createShaderModule, -- destroyShaderModule newtype ShaderModule ShaderModule :: Word64 -> ShaderModule newtype ShaderModuleCreateFlagBits ShaderModuleCreateFlagBits :: Flags -> ShaderModuleCreateFlagBits type ShaderModuleCreateFlags = ShaderModuleCreateFlagBits 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 outside [0..1] range for U coordinate. [$sel:addressModeU:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerAddressMode -- | addressModeV is a SamplerAddressMode value specifying -- the addressing mode for outside [0..1] range for V coordinate. [$sel:addressModeV:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> SamplerAddressMode -- | addressModeW is a SamplerAddressMode value specifying -- the addressing mode for outside [0..1] range for W coordinate. [$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. -- -- [$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 and maxLod are the values used to clamp the -- computed LOD value, as described in the Level-of-Detail -- Operation section. [$sel:minLod:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Float [$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 dimensions for x, y and -- z. 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: -- -- [$sel:unnormalizedCoordinates:SamplerCreateInfo] :: SamplerCreateInfo (es :: [Type]) -> Bool -- | VkSampler - Opaque handle to a sampler object -- --

See Also

-- -- 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

-- -- 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 present in -- the SamplerCreateInfo::pNext chain which contains the -- color data in integer format. pattern BORDER_COLOR_INT_CUSTOM_EXT :: BorderColor -- | BORDER_COLOR_FLOAT_CUSTOM_EXT indicates that a -- SamplerCustomBorderColorCreateInfoEXT structure is present in -- the SamplerCreateInfo::pNext chain which contains 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- AcquireNextImageInfoKHR, BindSparseInfo, -- ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, PresentInfoKHR, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 submitting a fence to a queue -- and waiting with an infinite timeout for that fence to signal. -- --

Valid Usage (Implicit)

-- -- -- --

Host Synchronization

-- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- getDeviceQueue, getDeviceQueue2, -- getQueueCheckpointDataNV, queueBeginDebugUtilsLabelEXT, -- queueBindSparse, queueEndDebugUtilsLabelEXT, -- queueInsertDebugUtilsLabelEXT, queuePresentKHR, -- queueSetPerformanceConfigurationINTEL, queueSubmit, -- 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 -- --

See Also

-- -- 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 stages in the first scope. pattern PIPELINE_STAGE_TOP_OF_PIPE_BIT :: PipelineStageFlagBits -- | PIPELINE_STAGE_DRAW_INDIRECT_BIT specifies the stage of the -- pipeline where Draw/DispatchIndirect/TraceRaysIndirect 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 stages 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 commands -- supported on the queue it is used with. pattern PIPELINE_STAGE_ALL_COMMANDS_BIT :: 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_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 pattern PIPELINE_STAGE_SHADING_RATE_IMAGE_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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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. -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- cmdBeginQuery, cmdBeginQueryIndexedEXT, -- cmdCopyQueryPoolResults, cmdEndQuery, -- cmdEndQueryIndexedEXT, cmdResetQueryPool, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteTimestamp, 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

-- -- QueryPoolCreateInfo newtype QueryPoolCreateFlags QueryPoolCreateFlags :: Flags -> QueryPoolCreateFlags -- | VkQueryType - Specify the type of queries managed by a query pool -- --

See Also

-- -- 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 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. 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

-- -- 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 vertex -- processing 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

-- -- 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: -- -- 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 -- shader create info structures containing all the desired active shader -- stages, as well as creation info to define all relevant fixed-function -- stages, and a pipeline layout. -- --

Valid Usage

-- -- -- -- -- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- AllocationCallbacks, Device, Pipeline destroyPipeline :: forall io. MonadIO io => Device -> Pipeline -> ("allocator" ::: Maybe AllocationCallbacks) -> io () -- | VkViewport - Structure specifying a viewport -- --

Description

-- -- 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 -- -- -- -- 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 vertex processing stage in -- shaders that also target other graphics APIs. -- -- 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

-- -- -- -- -- --

See Also

-- -- 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. It is valid for minDepth to be greater than or -- equal to maxDepth. [$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

-- -- -- --

See Also

-- -- 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 info -- --

Description

-- -- pMapEntries is a pointer to a SpecializationMapEntry -- structure. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 distance in bytes between two 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)

-- -- -- --

See Also

-- -- Format, PipelineVertexInputStateCreateInfo data VertexInputAttributeDescription VertexInputAttributeDescription :: Word32 -> Word32 -> Format -> Word32 -> VertexInputAttributeDescription -- | location is the shader binding 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 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. [$sel:primitiveRestartEnable:PipelineInputAssemblyStateCreateInfo] :: PipelineInputAssemblyStateCreateInfo -> Bool -- | VkPipelineTessellationStateCreateInfo - Structure specifying -- parameters of a newly created pipeline tessellation state -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- 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 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 reserved for future use. [$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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 info. [$sel:dynamicStates:PipelineDynamicStateCreateInfo] :: PipelineDynamicStateCreateInfo -> Vector DynamicState -- | VkStencilOpState - Structure specifying stencil operation state -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- Bool32, CompareOp, GraphicsPipelineCreateInfo, -- PipelineDepthStencilStateCreateFlags, StencilOpState, -- StructureType data PipelineDepthStencilStateCreateInfo PipelineDepthStencilStateCreateInfo :: PipelineDepthStencilStateCreateFlags -> Bool -> Bool -> CompareOp -> Bool -> Bool -> StencilOpState -> StencilOpState -> Float -> Float -> PipelineDepthStencilStateCreateInfo -- | flags is reserved for future use. [$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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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. [$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 the subpass of the -- render pass the pipeline is created against does not use a -- depth/stencil attachment. [$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 the subpass of the -- render pass the pipeline is created against does not use any color -- attachments. [$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 an instance of any render pass -- 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

-- -- 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

-- -- PipelineLayoutCreateInfo newtype PipelineLayoutCreateFlags PipelineLayoutCreateFlags :: Flags -> PipelineLayoutCreateFlags -- | VkPipelineDepthStencilStateCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- PipelineDepthStencilStateCreateInfo newtype PipelineDepthStencilStateCreateFlags PipelineDepthStencilStateCreateFlags :: Flags -> PipelineDepthStencilStateCreateFlags -- | VkPipelineDynamicStateCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- PipelineDynamicStateCreateInfo newtype PipelineDynamicStateCreateFlags PipelineDynamicStateCreateFlags :: Flags -> PipelineDynamicStateCreateFlags -- | VkPipelineColorBlendStateCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- PipelineColorBlendStateCreateInfo newtype PipelineColorBlendStateCreateFlags PipelineColorBlendStateCreateFlags :: Flags -> PipelineColorBlendStateCreateFlags -- | VkPipelineMultisampleStateCreateFlags - Reserved for future use -- --

Description

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

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 each enum value is described in the table below: -- -- TODO: table -- -- Blend Factors -- -- In this table, the following conventions are used: -- -- -- --

See Also

-- -- 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 each basic blend operations is described in the table -- below: -- -- TODO: table -- -- Basic Blend Operations -- -- In this table, the following conventions are used: -- -- -- -- 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

-- -- 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

-- -- 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 -- -- -- -- 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

-- -- PipelineColorBlendStateCreateInfo 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

-- -- VertexInputBindingDescription 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

-- -- 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 -- draw 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 -- draw 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 draw 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_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 draw 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 draw 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 draw 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 draw 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 draw 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 draw 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 draw 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

-- -- 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

-- -- 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 -- | 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

-- -- 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_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_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

-- -- 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. -- --

See Also

-- -- 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 -- | VkSampleMask - Mask of sample coverage information -- --

See Also

-- -- PipelineMultisampleStateCreateInfo type SampleMask = Word32 instance GHC.Classes.Eq Vulkan.Core10.Pipeline.StencilOpState instance GHC.Classes.Eq Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState instance GHC.Classes.Eq Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo instance GHC.Classes.Eq Vulkan.Core10.Pipeline.VertexInputAttributeDescription instance GHC.Classes.Eq Vulkan.Core10.Pipeline.VertexInputBindingDescription instance GHC.Classes.Eq Vulkan.Core10.Pipeline.SpecializationMapEntry instance GHC.Classes.Eq Vulkan.Core10.Pipeline.Viewport 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_device_generated_commands - device extension -- --

VK_NV_device_generated_commands

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- For each draw in a sequence, the following can be specified: -- -- -- -- 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 re-use 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 re-use -- 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: -- -- -- -- 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? -- -- -- -- 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

-- -- -- --

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 - Performs the generation and -- execution of commands on the device -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Bool32, CommandBuffer, GeneratedCommandsInfoNV cmdExecuteGeneratedCommandsNV :: forall io. MonadIO io => CommandBuffer -> ("isPreprocessed" ::: Bool) -> GeneratedCommandsInfoNV -> io () -- | vkCmdPreprocessGeneratedCommandsNV - Performs preprocessing for -- generated commands -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, GeneratedCommandsInfoNV cmdPreprocessGeneratedCommandsNV :: forall io. MonadIO io => CommandBuffer -> GeneratedCommandsInfoNV -> io () -- | vkCmdBindPipelineShaderGroupNV - Bind a pipeline object -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- The members of the -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceDeviceGeneratedCommandsFeaturesNV -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV can also -- be used in the pNext chain of DeviceCreateInfo to -- enable the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- GraphicsPipelineShaderGroupsCreateInfoNV, -- PipelineShaderStageCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputStateCreateInfo, StructureType data GraphicsShaderGroupCreateInfoNV GraphicsShaderGroupCreateInfoNV :: Vector (SomeStruct PipelineShaderStageCreateInfo) -> Maybe (SomeStruct PipelineVertexInputStateCreateInfo) -> Maybe (SomeStruct PipelineTessellationStateCreateInfo) -> GraphicsShaderGroupCreateInfoNV -- | pStages is an array of size stageCount structures of -- type PipelineShaderStageCreateInfo describing 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 an instance of the -- PipelineVertexInputStateCreateInfo structure. [$sel:vertexInputState:GraphicsShaderGroupCreateInfoNV] :: GraphicsShaderGroupCreateInfoNV -> Maybe (SomeStruct PipelineVertexInputStateCreateInfo) -- | pTessellationState is a pointer to an instance of the -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- GraphicsShaderGroupCreateInfoNV, Pipeline, -- StructureType data GraphicsPipelineShaderGroupsCreateInfoNV GraphicsPipelineShaderGroupsCreateInfoNV :: Vector GraphicsShaderGroupCreateInfoNV -> Vector Pipeline -> GraphicsPipelineShaderGroupsCreateInfoNV -- | pGroups is an array of GraphicsShaderGroupCreateInfoNV -- values specifying which state of the original -- GraphicsPipelineCreateInfo each shader group overrides. [$sel:groups:GraphicsPipelineShaderGroupsCreateInfoNV] :: GraphicsPipelineShaderGroupsCreateInfoNV -> Vector GraphicsShaderGroupCreateInfoNV -- | pPipelines is an array of graphics Pipeline, 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

-- -- -- -- -- --

See Also

-- -- No cross-references are available data BindShaderGroupIndirectCommandNV BindShaderGroupIndirectCommandNV :: Word32 -> BindShaderGroupIndirectCommandNV [$sel:groupIndex:BindShaderGroupIndirectCommandNV] :: BindShaderGroupIndirectCommandNV -> Word32 -- | VkBindIndexBufferIndirectCommandNV - Structure specifying input data -- for a single index buffer command token -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

See Also

-- -- 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

-- -- No cross-references are available 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)

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 that contains 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 provides an array of IndirectCommandsStreamNV -- that provide 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- createIndirectCommandsLayoutNV, -- destroyIndirectCommandsLayoutNV newtype IndirectCommandsLayoutNV IndirectCommandsLayoutNV :: Word64 -> IndirectCommandsLayoutNV 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 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.SetStateFlagsIndirectCommandNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.BindShaderGroupIndirectCommandNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- This extension adds support for the following SPIR-V extension in -- Vulkan: -- -- -- --

New Commands

-- -- -- -- -- --

New Structures

-- -- -- -- -- --

New Enums

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

New or Modified Built-In Variables

-- -- -- -- -- --

New SPIR-V Capabilities

-- -- -- -- -- --

Issues

-- --
    --
  1. How does this extension differ from VK_NV_ray_tracing?
  2. --
-- -- DISCUSSION: -- -- The following is a summary of the main functional differences between -- VK_KHR_ray_tracing_pipeline and VK_NV_ray_tracing: -- -- -- --
    --
  1. Can you give a more detailed comparision of differences and -- similarities between VK_NV_ray_tracing and -- VK_KHR_ray_tracing_pipeline?
  2. --
-- -- DISCUSSION: -- -- The following is a more detailed comparision of which commands, -- structures, and enums are aliased, changed, or removed. -- -- -- --
    --
  1. What are the changes between the public provisional -- (VK_KHR_ray_tracing v8) release and the internal provisional -- (VK_KHR_ray_tracing v9) release?
  2. --
-- -- -- --
    --
  1. 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?
  2. --
-- -- -- --
    --
  1. 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?
  2. --
-- -- 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: -- -- -- --

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

-- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- Device, Pipeline, ShaderGroupShaderKHR getRayTracingShaderGroupStackSizeKHR :: forall io. MonadIO io => Device -> Pipeline -> ("group" ::: Word32) -> ShaderGroupShaderKHR -> io DeviceSize -- | vkCmdSetRayTracingPipelineStackSizeKHR - Set the dynamic stack size -- for a ray tracing pipeline -- --

Description

-- -- See Ray Tracing Pipeline Stack for more on computing -- pipelineStackSize. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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 an optional 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceRayTracingPipelineFeaturesKHR -- structure describe the following features: -- --

Description

-- -- -- -- -- -- If the PhysicalDeviceRayTracingPipelineFeaturesKHR structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceRayTracingPipelineFeaturesKHR can also be -- used in the pNext chain of DeviceCreateInfo to enable -- the features. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- -- Limits specified by this structure must match those specified -- with the same name in PhysicalDeviceRayTracingPropertiesNV. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- StructureType data PhysicalDeviceRayTracingPipelinePropertiesKHR PhysicalDeviceRayTracingPipelinePropertiesKHR :: Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> PhysicalDeviceRayTracingPipelinePropertiesKHR -- | shaderGroupHandleSize 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. [$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

-- -- -- -- -- --

See Also

-- -- 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. [$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 trace ray command -- --

Description

-- -- The members of TraceRaysIndirectCommandKHR have the same -- meaning as the similarly named parameters of cmdTraceRaysKHR. -- --

Valid Usage

-- --

See Also

-- -- No cross-references are available data TraceRaysIndirectCommandKHR TraceRaysIndirectCommandKHR :: Word32 -> Word32 -> Word32 -> TraceRaysIndirectCommandKHR -- | width is the width of the ray trace query dimensions. -- -- width must be less than or equal to -- PhysicalDeviceLimits::maxComputeWorkGroupCount[0] × -- PhysicalDeviceLimits::maxComputeWorkGroupSize[0] -- -- width × height × depth must be less -- than or equal to -- PhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayDispatchInvocationCount [$sel:width:TraceRaysIndirectCommandKHR] :: TraceRaysIndirectCommandKHR -> Word32 -- | height is height of the ray trace query dimensions. -- -- height must be less than or equal to -- PhysicalDeviceLimits::maxComputeWorkGroupCount[1] × -- PhysicalDeviceLimits::maxComputeWorkGroupSize[1] [$sel:height:TraceRaysIndirectCommandKHR] :: TraceRaysIndirectCommandKHR -> Word32 -- | depth is depth of the ray trace query dimensions. -- -- depth must be less than or equal to -- PhysicalDeviceLimits::maxComputeWorkGroupCount[2] × -- PhysicalDeviceLimits::maxComputeWorkGroupSize[2] [$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

-- -- 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

-- -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- Pipeline, RayTracingPipelineCreateInfoKHR, -- StructureType data PipelineLibraryCreateInfoKHR PipelineLibraryCreateInfoKHR :: Vector Pipeline -> PipelineLibraryCreateInfoKHR -- | pLibraries is an array of pipeline libraries to use when -- creating a pipeline. [$sel:libraries:PipelineLibraryCreateInfoKHR] :: PipelineLibraryCreateInfoKHR -> Vector Pipeline type SHADER_UNUSED_KHR = 4294967295 pattern SHADER_UNUSED_KHR :: Word32 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineInterfaceCreateInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.TraceRaysIndirectCommandKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- -- 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

-- -- -- -- -- --

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

-- -- Device, Pipeline compileDeferredNV :: forall io. MonadIO io => Device -> Pipeline -> ("shader" ::: Word32) -> io () -- | vkCreateAccelerationStructureNV - 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” 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- AccelerationStructureNV, Device getAccelerationStructureHandleNV :: forall io. MonadIO io => Device -> AccelerationStructureNV -> ("dataSize" ::: Word64) -> ("data" ::: Ptr ()) -> io () -- | vkCreateRayTracingPipelinesNV - Creates a new ray tracing pipeline -- object -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 an array of size stageCount structures of -- type PipelineShaderStageCreateInfo describing 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 an array of size groupCount structures of -- type RayTracingShaderGroupCreateInfoNV 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 info -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccelerationStructureNV, StructureType data WriteDescriptorSetAccelerationStructureNV WriteDescriptorSetAccelerationStructureNV :: Vector AccelerationStructureNV -> WriteDescriptorSetAccelerationStructureNV -- | pAccelerationStructures are 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

-- -- 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

-- -- If the PhysicalDeviceRayTracingPropertiesNV structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- -- Limits specified by this structure must match those specified -- with the same name in -- PhysicalDeviceAccelerationStructurePropertiesKHR and -- PhysicalDeviceRayTracingPipelinePropertiesKHR. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- StructureType data PhysicalDeviceRayTracingPropertiesNV PhysicalDeviceRayTracingPropertiesNV :: Word32 -> Word32 -> Word32 -> Word32 -> Word64 -> Word64 -> Word64 -> Word32 -> PhysicalDeviceRayTracingPropertiesNV -- | shaderGroupHandleSize 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

-- -- 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

-- -- 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

-- -- No cross-references are available 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

-- -- -- --

See Also

-- -- AccelerationStructureInstanceKHR 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 spec 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

-- -- 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 int32_t was specified in their place -- -- [$sel:instanceCustomIndex:AccelerationStructureInstanceKHR] :: AccelerationStructureInstanceKHR -> Word32 -- | mask is an 8-bit visibility mask for the geometry. The -- instance may only be hit if rayMask & 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 int32_t was specified -- in their place -- -- [$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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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_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_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

-- -- 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_FRONT_COUNTERCLOCKWISE_BIT_KHR -- indicates that the front face of the triangle for culling purposes is -- the face that is counter clockwise in object space relative to the ray -- origin. Because the facing is determined in object space, an instance -- transform matrix does not change the winding, but a geometry transform -- does. pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_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

-- -- 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

-- -- BuildAccelerationStructureFlagsKHR newtype BuildAccelerationStructureFlagBitsKHR BuildAccelerationStructureFlagBitsKHR :: Flags -> BuildAccelerationStructureFlagBitsKHR -- | BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR indicates -- that the specified acceleration structure can be updated with -- update of TRUE in -- cmdBuildAccelerationStructuresKHR or -- 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 build, potentially at the expense -- of build time or trace performance. pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR type BuildAccelerationStructureFlagsKHR = BuildAccelerationStructureFlagBitsKHR -- | VkCopyAccelerationStructureModeKHR - Acceleration structure copy mode -- --

See Also

-- -- 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. 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. 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

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureCreateInfoKHR 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

-- -- 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

-- -- 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 type SHADER_UNUSED_KHR = 4294967295 pattern SHADER_UNUSED_KHR :: Word32 instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV 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.PhysicalDeviceRayTracingPropertiesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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 the cull mode property -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, CullModeFlags cmdSetCullModeEXT :: forall io. MonadIO io => CommandBuffer -> CullModeFlags -> io () -- | vkCmdSetFrontFaceEXT - Set the front face property -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, FrontFace cmdSetFrontFaceEXT :: forall io. MonadIO io => CommandBuffer -> FrontFace -> io () -- | vkCmdSetPrimitiveTopologyEXT - Set the primitive topology state -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, PrimitiveTopology cmdSetPrimitiveTopologyEXT :: forall io. MonadIO io => CommandBuffer -> PrimitiveTopology -> io () -- | vkCmdSetViewportWithCountEXT - Set the viewport count and viewports -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, Viewport cmdSetViewportWithCountEXT :: forall io. MonadIO io => CommandBuffer -> ("viewports" ::: Vector Viewport) -> io () -- | vkCmdSetScissorWithCountEXT - Set the scissor count and scissors -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, Rect2D cmdSetScissorWithCountEXT :: forall io. MonadIO io => CommandBuffer -> ("scissors" ::: Vector Rect2D) -> io () -- | vkCmdBindVertexBuffers2EXT - 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]. 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 draw commands. -- -- If the bound pipeline state object was created with the -- DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state -- enabled then pStrides[i] specifies the distance in bytes -- between two consecutive elements within the corresponding buffer. In -- this case the VertexInputBindingDescription::stride -- state from the pipeline state object is ignored. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 the depth test enable for a command -- buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT -- set in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Bool32, CommandBuffer cmdSetDepthTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthTestEnable" ::: Bool) -> io () -- | vkCmdSetDepthWriteEnableEXT - Set the depth write enable for the -- command buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT -- set in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Bool32, CommandBuffer cmdSetDepthWriteEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthWriteEnable" ::: Bool) -> io () -- | vkCmdSetDepthCompareOpEXT - Set the depth comparison operator for the -- command buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT set -- in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, CompareOp cmdSetDepthCompareOpEXT :: forall io. MonadIO io => CommandBuffer -> ("depthCompareOp" ::: CompareOp) -> io () -- | vkCmdSetDepthBoundsTestEnableEXT - Set the depth bounds test enable -- for a command buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with -- DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT set in -- PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Bool32, CommandBuffer cmdSetDepthBoundsTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthBoundsTestEnable" ::: Bool) -> io () -- | vkCmdSetStencilTestEnableEXT - Set the stencil test enable for the -- command buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT -- set in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Bool32, CommandBuffer cmdSetStencilTestEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("stencilTestEnable" ::: Bool) -> io () -- | vkCmdSetStencilOpEXT - Set the stencil operation for the command -- buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_STENCIL_OP_EXT set in -- PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- The members of the -- PhysicalDeviceExtendedDynamicStateFeaturesEXT structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceExtendedDynamicStateFeaturesEXT structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether the feature is supported. -- PhysicalDeviceExtendedDynamicStateFeaturesEXT can also -- be used in the pNext chain of DeviceCreateInfo to -- enable features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- AllocationCallbacks, Device, Framebuffer destroyFramebuffer :: forall io. MonadIO io => Device -> Framebuffer -> ("allocator" ::: Maybe AllocationCallbacks) -> io () -- | vkCreateRenderPass - Create a new render pass object -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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: -- -- -- -- 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)

-- -- -- -- -- --

See Also

-- -- 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: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 the number of samples of the image as defined in -- SampleCountFlagBits. [$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

-- -- 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 renderpass 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, writes to the -- corresponding location by a fragment 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: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- AttachmentReference structures defining the color attachments -- for this subpass and their layouts. [$sel:colorAttachments:SubpassDescription] :: SubpassDescription -> Vector AttachmentReference -- | pResolveAttachments is an optional 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 access 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 access 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: -- -- -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 renderpass 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: -- -- -- -- 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

-- -- -- -- 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

-- -- CommandBufferInheritanceInfo, RenderPassBeginInfo, -- createFramebuffer, destroyFramebuffer newtype Framebuffer Framebuffer :: Word64 -> Framebuffer -- | VkRenderPass - Opaque handle to a render pass object -- --

See Also

-- -- CommandBufferInheritanceInfo, FramebufferCreateInfo, -- GraphicsPipelineCreateInfo, RenderPassBeginInfo, -- createRenderPass, createRenderPass2, -- createRenderPass2KHR, destroyRenderPass, -- getRenderAreaGranularity newtype RenderPass RenderPass :: Word64 -> RenderPass -- | VkAttachmentLoadOp - Specify how contents of an attachment are treated -- at the beginning of a subpass -- --

See Also

-- -- AttachmentDescription, AttachmentDescription2 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 -- | 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

-- -- AttachmentDescription, AttachmentDescription2 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_QCOM specifies that the contents -- within the render area were not written during rendering, and -- may not be written to memory. If the attachment was written to -- during the renderpass, the contents of the attachment will be -- undefined inside the render area. pattern ATTACHMENT_STORE_OP_NONE_QCOM :: AttachmentStoreOp -- | VkPipelineBindPoint - Specify the bind point of a pipeline object to a -- command buffer -- --

See Also

-- -- 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_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 renderpass -- --

See Also

-- -- RenderPassCreateFlags newtype RenderPassCreateFlagBits RenderPassCreateFlagBits :: Flags -> RenderPassCreateFlagBits -- | RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM specifies that the -- created renderpass 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

-- -- 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

-- -- 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 dispatch command. 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. 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. pattern ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: AccessFlagBits -- | ACCESS_UNIFORM_READ_BIT specifies read access to a uniform -- buffer. pattern ACCESS_UNIFORM_READ_BIT :: AccessFlagBits -- | ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an -- input attachment within a render pass during fragment shading. pattern ACCESS_INPUT_ATTACHMENT_READ_BIT :: AccessFlagBits -- | ACCESS_SHADER_READ_BIT specifies read access to a storage -- buffer, physical storage buffer, shader binding -- table, uniform texel buffer, storage texel buffer, -- sampled image, or storage image. 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. 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. 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. 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. 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. pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: AccessFlagBits -- | ACCESS_TRANSFER_READ_BIT specifies read access to an image or -- buffer in a copy operation. pattern ACCESS_TRANSFER_READ_BIT :: AccessFlagBits -- | ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or -- buffer in a clear or copy operation. 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. 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. 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_COMMAND_PREPROCESS_WRITE_BIT_NV specifies writes to the -- Buffer preprocess outputs in -- cmdPreprocessGeneratedCommandsNV. pattern ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits -- | ACCESS_COMMAND_PREPROCESS_READ_BIT_NV specifies reads from -- Buffer inputs to cmdPreprocessGeneratedCommandsNV. pattern ACCESS_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits -- | ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read access -- to a fragment density map attachment during dynamic fragment -- density map operations pattern ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: 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. 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. pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits -- | ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT is similar to -- ACCESS_COLOR_ATTACHMENT_READ_BIT, but also includes advanced -- blend operations. 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. 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. 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. 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. pattern ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits type AccessFlags = AccessFlagBits -- | VkAttachmentDescriptionFlagBits - Bitmask specifying additional -- properties of an attachment -- --

See Also

-- -- 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

-- -- 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 dependency. 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

-- -- SubpassDescriptionFlags newtype SubpassDescriptionFlagBits SubpassDescriptionFlagBits :: Flags -> 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 vertex processing 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

-- -- 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.SubpassDependency instance GHC.Classes.Eq Vulkan.Core10.Pass.AttachmentReference instance GHC.Classes.Eq Vulkan.Core10.Pass.AttachmentDescription 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

New or Modified Built-In Variables

-- -- -- -- -- --

New SPIR-V Capabilities

-- -- -- --

Version History

-- -- -- --

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

-- -- The members of the PhysicalDeviceFragmentDensityMapFeaturesEXT -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceFragmentDensityMapFeaturesEXT structure is -- included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceFragmentDensityMapFeaturesEXT can also be -- included in pNext chain of DeviceCreateInfo to enable -- the features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceFragmentDensityMapPropertiesEXT structure -- describe the following implementation-dependent limits: -- --

Valid Usage (Implicit)

-- -- If the PhysicalDeviceFragmentDensityMapPropertiesEXT structure -- is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits and properties. -- --

See Also

-- -- 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

-- -- 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 = 1 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 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: -- -- -- -- 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. -- -- 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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, they must affect the following per-process -- values: * -- PhysicalDeviceMaintenance3Properties::maxMemoryAllocationCount -- * PhysicalDeviceMemoryBudgetPropertiesEXT::heapUsage -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- ComponentSwizzle, ImageViewCreateInfo, -- 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 and 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)

-- -- -- -- -- --

See Also

-- -- ImageAspectFlags, ImageMemoryBarrier, -- 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 the image was 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, -- 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 channels 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 and image view parameter compatibility requirements -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 specifies 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 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

-- -- DescriptorImageInfo, FramebufferCreateInfo, -- ImageViewHandleInfoNVX, RenderPassAttachmentBeginInfo, -- cmdBindShadingRateImageNV, createImageView, -- destroyImageView, getImageViewAddressNVX newtype ImageView ImageView :: Word64 -> ImageView -- | VkImageViewType - Image view types -- --

Description

-- -- The exact image view type is partially implicit, based on the image’s -- type and sample count, as well as the view creation parameters as -- described in the image view compatibility table for -- createImageView. This table also shows which SPIR-V -- OpTypeImage Dim and Arrayed parameters -- correspond to each image view type. -- --

See Also

-- -- 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

-- -- 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

-- -- 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.ImageSubresourceRange instance GHC.Classes.Eq Vulkan.Core10.ImageView.ComponentMapping 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_ANDROID_external_memory_android_hardware_buffer - device extension -- --

VK_ANDROID_external_memory_android_hardware_buffer

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

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 info 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 -- doesn’t 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

-- -- -- -- -- --

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

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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 type ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION = 3 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 instance GHC.Classes.Eq Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID 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.MemoryGetAndroidHardwareBufferInfoANDROID instance GHC.Classes.Eq Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID 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 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.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.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.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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- -- If chromaFilter is FILTER_NEAREST, chroma samples are -- reconstructed to luma channel 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

-- -- 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 channels in the x dimension. -- xChromaOffset has no effect for formats in which chroma -- channels are not downsampled horizontally. [$sel:xChromaOffset:SamplerYcbcrConversionCreateInfo] :: SamplerYcbcrConversionCreateInfo (es :: [Type]) -> ChromaLocation -- | yChromaOffset describes the sample location associated -- with downsampled chroma channels in the y dimension. -- yChromaOffset has no effect for formats in which the chroma -- channels 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

-- -- ImageAspectFlagBits, StructureType data BindImagePlaneMemoryInfo BindImagePlaneMemoryInfo :: ImageAspectFlagBits -> BindImagePlaneMemoryInfo -- | planeAspect is 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

-- -- ImageAspectFlagBits, StructureType data ImagePlaneMemoryRequirementsInfo ImagePlaneMemoryRequirementsInfo :: ImageAspectFlagBits -> ImagePlaneMemoryRequirementsInfo -- | planeAspect is 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

-- -- The members of the PhysicalDeviceSamplerYcbcrConversionFeatures -- structure describe the following feature: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- SamplerYcbcrConversionInfo, -- createSamplerYcbcrConversion, -- createSamplerYcbcrConversionKHR, -- destroySamplerYcbcrConversion, -- destroySamplerYcbcrConversionKHR newtype SamplerYcbcrConversion SamplerYcbcrConversion :: Word64 -> SamplerYcbcrConversion -- | VkFormat - Available image formats -- --

See Also

-- -- AccelerationStructureGeometryTrianglesDataKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AttachmentDescription, AttachmentDescription2, -- BufferViewCreateInfo, FramebufferAttachmentImageInfo, -- GeometryTrianglesNV, ImageCreateInfo, -- ImageFormatListCreateInfo, ImageViewASTCDecodeModeEXT, -- ImageViewCreateInfo, PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceSparseImageFormatInfo2, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerYcbcrConversionCreateInfo, SurfaceFormatKHR, -- SwapchainCreateInfoKHR, VertexInputAttributeDescription, -- 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_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 -- dimensions of the BR plane is halved relative to the image dimensions, -- and each R and B value is shared with the G components for which -- (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of -- each plane when this image is in linear layout can be determined via -- getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G16_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G16_B16_R16_3PLANE_422_UNORM :: Format -- | FORMAT_G16_B16R16_2PLANE_420_UNORM specifies an unsigned -- normalized multi-planar format that has a 16-bit G component in -- each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 -- consisting of a 16-bit B component in the word in bytes 0..1, and a -- 16-bit R component in the word in bytes 2..3. The horizontal and -- vertical dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for -- which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and -- (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of -- each plane when this image is in linear layout can be determined via -- getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G16_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G16_B16_R16_3PLANE_420_UNORM :: Format -- | FORMAT_B16G16R16G16_422_UNORM specifies a four-component, -- 64-bit format containing a pair of G components, an R component, and a -- B component, collectively encoding a 2×1 rectangle of unsigned -- normalized RGB texel data. One G value is present at each i -- coordinate, with the B and R values shared across both G values and -- thus recorded at half the horizontal resolution of the image. This -- format has a 16-bit B component in the word in bytes 0..1, a 16-bit G -- component for the even i coordinate in the word in bytes 2..3, -- a 16-bit R component in the word in bytes 4..5, and a 16-bit G -- component for the odd i coordinate in the word in bytes 6..7. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_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. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_G16B16G16R16_422_UNORM :: Format -- | FORMAT_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, the bottom 4 bits of each -- word unused. The horizontal dimensions of the BR plane is halved -- relative to the image dimensions, and each R and B value is shared -- with the G components for which (leftlfloor i_G times 0.5 rightrfloor -- = i_B = i_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G12X4_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: Format -- | FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 specifies an -- unsigned normalized multi-planar format that has a 12-bit G -- component in the top 12 bits of each 16-bit word of plane 0, and a -- two-component, 32-bit BR plane 1 consisting of a 12-bit B component in -- the top 12 bits of the word in bytes 0..1, and a 12-bit R component in -- the top 12 bits of the word in bytes 2..3, the bottom 4 bits of each -- word unused. The horizontal and vertical dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which (leftlfloor i_G times 0.5 -- rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = -- j_B = j_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G12X4_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: Format -- | FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 specifies a -- four-component, 64-bit format containing a pair of G components, an R -- component, and a B component, collectively encoding a 2×1 rectangle of -- unsigned normalized RGB texel data. One G value is present at each -- i coordinate, with the B and R values shared across both G -- values and thus recorded at half the horizontal resolution of the -- image. This format has a 12-bit B component in the top 12 bits of the -- word in bytes 0..1, a 12-bit G component for the even i -- coordinate in the top 12 bits of the word in bytes 2..3, a 12-bit R -- component in the top 12 bits of the word in bytes 4..5, and a 12-bit G -- component for the odd i coordinate in the top 12 bits of the -- word in bytes 6..7, with the bottom 4 bits of each word unused. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_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. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: Format -- | FORMAT_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, the bottom 6 bits of each -- word unused. The horizontal dimensions of the BR plane is halved -- relative to the image dimensions, and each R and B value is shared -- with the G components for which (leftlfloor i_G times 0.5 rightrfloor -- = i_B = i_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G10X6_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: Format -- | FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 specifies an -- unsigned normalized multi-planar format that has a 10-bit G -- component in the top 10 bits of each 16-bit word of plane 0, and a -- two-component, 32-bit BR plane 1 consisting of a 10-bit B component in -- the top 10 bits of the word in bytes 0..1, and a 10-bit R component in -- the top 10 bits of the word in bytes 2..3, the bottom 6 bits of each -- word unused. The horizontal and vertical dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which (leftlfloor i_G times 0.5 -- rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = -- j_B = j_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G10X6_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: Format -- | FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 specifies a -- four-component, 64-bit format containing a pair of G components, an R -- component, and a B component, collectively encoding a 2×1 rectangle of -- unsigned normalized RGB texel data. One G value is present at each -- i coordinate, with the B and R values shared across both G -- values and thus recorded at half the horizontal resolution of the -- image. This format has a 10-bit B component in the top 10 bits of the -- word in bytes 0..1, a 10-bit G component for the even i -- coordinate in the top 10 bits of the word in bytes 2..3, a 10-bit R -- component in the top 10 bits of the word in bytes 4..5, and a 10-bit G -- component for the odd i coordinate in the top 10 bits of the -- word in bytes 6..7, with the bottom 6 bits of each word unused. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_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. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: Format -- | FORMAT_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 dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for -- which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location -- of each plane when this image is in linear layout can be determined -- via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G8_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G8_B8_R8_3PLANE_422_UNORM :: Format -- | FORMAT_G8_B8R8_2PLANE_420_UNORM specifies an unsigned -- normalized multi-planar format that has an 8-bit G component in -- plane 0, and a two-component, 16-bit BR plane 1 consisting of an 8-bit -- B component in byte 0 and an 8-bit R component in byte 1. The -- horizontal and vertical dimensions of the BR plane is halved relative -- to the image dimensions, and each R and B value is shared with the G -- components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = -- i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The -- location of each plane when this image is in linear layout can be -- determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G8_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G8_B8_R8_3PLANE_420_UNORM :: Format -- | FORMAT_B8G8R8G8_422_UNORM specifies a four-component, 32-bit -- format containing a pair of G components, an R component, and a B -- component, collectively encoding a 2×1 rectangle of unsigned -- normalized RGB texel data. One G value is present at each i -- coordinate, with the B and R values shared across both G values and -- thus recorded at half the horizontal resolution of the image. This -- format has an 8-bit B component in byte 0, an 8-bit G component for -- the even i coordinate in byte 1, an 8-bit R component in byte -- 2, and an 8-bit G component for the odd i coordinate in byte 3. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_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. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_G8B8G8R8_422_UNORM :: Format -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkObjectType - Specify an enumeration to track object handle types -- --

Description

-- -- ' -- -- TODO: table -- -- ObjectType and Vulkan Handle Relationship -- --

See Also

-- -- 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_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_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

-- -- 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: -- -- 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

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

See Also

-- -- FormatFeatureFlags 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 images. 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. If this bit is not present, linear filtering with -- depth compare disabled is unsupported and linear filtering with depth -- compare enabled is supported, but may compute the filtered -- value in an implementation-dependent manner which differs from the -- normal rules of linear filtering. The resulting value must be -- in the range [0,1] and should be proportional to, or a weighted -- average of, the number of comparison passes or failures. pattern FORMAT_FEATURE_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 that 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 the format can do linear sampler filtering -- (min/magFilter) whilst sampler Y′CBCR conversion is enabled. 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

-- -- BindImagePlaneMemoryInfo, 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 sparse resource operations. pattern IMAGE_ASPECT_METADATA_BIT :: 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: -- -- -- -- These rules reflect the mapping of channels after the channel swizzle -- operation (controlled by -- SamplerYcbcrConversionCreateInfo::components). -- -- Note -- -- For example, an “YUVA” 32-bit format comprising four 8-bit channels -- can be implemented as FORMAT_R8G8B8A8_UNORM with a component -- mapping: -- -- -- --

See Also

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- 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

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- 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

-- -- AndroidHardwareBufferFormatPropertiesANDROID, -- 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.SamplerYcbcrConversionImageFormatProperties 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.ImagePlaneMemoryRequirementsInfo 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.SamplerYcbcrConversionInfo 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- The use of Y′CBCR sampler conversion is an area in 3D graphics not -- used by most Vulkan developers. It’s 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

-- -- -- -- -- --

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

-- -- 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_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_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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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. -- -- oldLayout and newLayout define an image layout -- transition for the specified image subresource range. -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- | VkDrawIndirectCommand - Structure specifying a draw indirect command -- --

Description

-- -- The members of DrawIndirectCommand have the same meaning as the -- similarly named parameters of cmdDraw. -- --

Valid Usage

-- -- -- -- -- --

See Also

-- -- 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 draw indexed -- indirect command -- --

Description

-- -- The members of DrawIndexedIndirectCommand have the same meaning -- as the similarly named parameters of cmdDrawIndexed. -- --

Valid Usage

-- -- -- -- -- --

See Also

-- -- 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 dispatch indirect -- command -- --

Description

-- -- The members of DispatchIndirectCommand have the same meaning as -- the corresponding parameters of cmdDispatch. -- --

Valid Usage

-- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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_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_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

-- -- No cross-references are available 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.DispatchIndirectCommand instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.DrawIndexedIndirectCommand instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.DrawIndirectCommand instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.BufferMemoryBarrier instance GHC.Classes.Eq Vulkan.Core10.OtherTypes.MemoryBarrier 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.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.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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 a format from one of those listed in -- https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-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). -- -- 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. -- -- -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- -- </section> = See Also -- -- Extent3D, Format, ImageCreateFlags, -- 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 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 list of queue families that will -- access this image (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

-- -- 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

-- -- BindImageMemoryInfo, BlitImageInfo2KHR, -- CopyBufferToImageInfo2KHR, CopyImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- ImageMemoryBarrier, 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

-- -- AttachmentDescription, AttachmentDescription2, -- AttachmentDescriptionStencilLayout, AttachmentReference, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BlitImageInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- DescriptorImageInfo, ImageCreateInfo, -- ImageMemoryBarrier, ResolveImageInfo2KHR, -- cmdBindShadingRateImageNV, cmdBlitImage, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyBufferToImage, cmdCopyImage, -- cmdCopyImageToBuffer, cmdResolveImage newtype ImageLayout ImageLayout :: Int32 -> ImageLayout -- | IMAGE_LAYOUT_UNDEFINED does not support device access. This -- layout must only be used as the initialLayout member -- of ImageCreateInfo or AttachmentDescription, or as the -- oldLayout in an image transition. When transitioning out of -- this layout, the contents of the memory are not guaranteed to be -- preserved. 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 bit 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 does not support device access. -- This layout must only be used as the initialLayout -- member of ImageCreateInfo or AttachmentDescription, or -- as the oldLayout in an image transition. When transitioning -- out of this layout, the contents of the memory are preserved. 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_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 pattern IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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</link>^ -- and EGL_MESA_image_dma_buf_export3</link>^. -- 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: -- -- -- --

Prior Art

-- -- Extension EGL_EXT_image_dma_buf_import1</link>^ -- 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</link>^ -- 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</link>^ -- 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</link>^, 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</link>^; -- and symmetrically allows exporting the same data from the -- gbm_bo. See the references to modifier and -- plane in gbm.h5</link>^. -- --

New Commands

-- -- -- --

New Structures

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

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</link>^, -- struct drm_mode_fb_cmd24</link>^, and struct -- gbm_import_fd_modifier_data5</link>^, 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</link>^, -- struct drm_mode_fb_cmd24</link>^, and struct -- gbm_import_fd_modifier_data5</link>^, 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: -- -- -- -- The above differences complicate the potential inference of plane size -- in Vulkan. Consider the following problematic cases: -- -- -- -- 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

-- --
    --
  1. EGL_EXT_image_dma_buf_import
  2. --
-- --
    --
  1. EGL_EXT_image_dma_buf_import_modifiers
  2. --
  3. EGL_MESA_image_dma_buf_export
  4. -- --
  5. <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>
  6. --
  7. gbm.h
  8. --
-- --

Version History

-- -- -- --

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

-- -- 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

-- -- 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 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 channels. 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 channel and the second -- plane contains the blue channel and red channel. 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 channels -- 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 channels 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 list of queue families that will -- access the image (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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- StructureType, getImageDrmFormatModifierPropertiesEXT data ImageDrmFormatModifierPropertiesEXT ImageDrmFormatModifierPropertiesEXT :: Word64 -> ImageDrmFormatModifierPropertiesEXT -- | drmFormatModifier returns the image’s Linux DRM format -- modifier. [$sel:drmFormatModifier:ImageDrmFormatModifierPropertiesEXT] :: ImageDrmFormatModifierPropertiesEXT -> Word64 type EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 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 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.DrmFormatModifierPropertiesListEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT 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 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- AcquireNextImageInfoKHR, FenceGetFdInfoKHR, -- FenceGetWin32HandleInfoKHR, ImportFenceFdInfoKHR, -- ImportFenceWin32HandleInfoKHR, acquireNextImageKHR, -- createFence, destroyFence, getFenceStatus, -- queueBindSparse, queueSubmit, -- registerDeviceEventEXT, registerDisplayEventEXT, -- resetFences, waitForFences newtype Fence Fence :: Word64 -> Fence -- | VkFenceCreateFlagBits - Bitmask specifying initial state and behavior -- of a fence -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

See Also

-- -- 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. If pPhysicalDeviceCount is smaller than the -- number of physical devices available, INCOMPLETE will be -- returned instead of SUCCESS, to indicate that not all the -- available physical devices were returned. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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 for each case. -- --

Description

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

Valid Usage (Implicit)

-- --

See Also

-- -- PFN_vkVoidFunction, 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. -- -- 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 -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- PFN_vkVoidFunction, Instance getInstanceProcAddr :: forall io. MonadIO io => Instance -> ("name" ::: ByteString) -> io PFN_vkVoidFunction -- | vkGetPhysicalDeviceProperties - Returns properties of a physical -- device -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- PhysicalDevice, PhysicalDeviceMemoryProperties getPhysicalDeviceMemoryProperties :: forall io. MonadIO io => PhysicalDevice -> io PhysicalDeviceMemoryProperties -- | vkGetPhysicalDeviceFeatures - Reports capabilities of a physical -- device -- --

Valid Usage (Implicit)

-- --

See Also

-- -- PhysicalDevice, PhysicalDeviceFeatures getPhysicalDeviceFeatures :: forall io. MonadIO io => PhysicalDevice -> io PhysicalDeviceFeatures -- | vkGetPhysicalDeviceFormatProperties - Lists physical device’s format -- capabilities -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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. -- -- The vendorID and deviceID fields are provided to -- allow applications to adapt to device characteristics that are not -- adequately exposed by other Vulkan queries. -- -- Note -- -- These may include performance profiles, hardware errata, or -- other characteristics. -- -- The vendor identified by vendorID is the entity -- responsible for the most salient characteristics of the underlying -- implementation of the PhysicalDevice being queried. -- -- Note -- -- For example, in the case of a discrete GPU implementation, this -- should be the GPU chipset vendor. In the case of a hardware -- accelerator integrated into a system-on-chip (SoC), this should -- be the supplier of the silicon IP used to create the accelerator. -- -- If the vendor has a PCI vendor ID, the low 16 bits of -- vendorID must contain that PCI vendor ID, and the -- remaining bits must be set to zero. Otherwise, the value -- returned must be a valid Khronos vendor ID, obtained as -- described in the Vulkan Documentation and Extensions: Procedures -- and Conventions document in the section “Registering a Vendor ID -- with Khronos”. Khronos vendor IDs are allocated starting at 0x10000, -- to distinguish them from the PCI vendor ID namespace. Khronos vendor -- IDs are symbolically defined in the VendorId type. -- -- The vendor is also responsible for the value returned in -- deviceID. If the implementation is driven primarily by a -- PCI device with a PCI device ID, the low 16 bits of -- deviceID must contain that PCI device ID, and the -- remaining bits must be set to zero. Otherwise, the choice of -- what values to return may be dictated by operating system or -- platform policies - but should uniquely identify both the -- device version and any major configuration options (for example, core -- count in the case of multicore devices). -- -- Note -- -- The same device ID should be used for all physical -- implementations of that device version and configuration. For example, -- all uses of a specific silicon IP GPU version and configuration -- should use the same device ID, even if those uses occur in -- different SoCs. -- --

See Also

-- -- PhysicalDeviceLimits, PhysicalDeviceProperties2, -- PhysicalDeviceSparseProperties, PhysicalDeviceType, -- getPhysicalDeviceProperties 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 info -- --

Description

-- -- Vulkan 1.0 implementations were required to return -- ERROR_INCOMPATIBLE_DRIVER if apiVersion was larger -- than 1.0. Implementations that support Vulkan 1.1 or later must -- not return ERROR_INCOMPATIBLE_DRIVER for any value of -- apiVersion. -- -- Note -- -- Because Vulkan 1.0 implementations may fail with -- ERROR_INCOMPATIBLE_DRIVER, applications should determine -- the version of Vulkan available before calling createInstance. -- If the getInstanceProcAddr returns NULL for -- enumerateInstanceVersion, it is a Vulkan 1.0 implementation. -- Otherwise, the application can call -- enumerateInstanceVersion to determine the version of Vulkan. -- -- As long as the instance supports at least Vulkan 1.1, an application -- can use different versions of Vulkan with an instance than it -- does with a device or physical device. -- -- Note -- -- The Khronos validation layers will treat apiVersion as the -- highest API version the application targets, and will validate API -- usage against the minimum of that version and the implementation -- version (instance or device, depending on context). If an application -- tries to use functionality from a greater version than this, a -- validation error will be triggered. -- -- For example, if the instance supports Vulkan 1.1 and three physical -- devices support Vulkan 1.0, Vulkan 1.1, and Vulkan 1.2, respectively, -- and if the application sets apiVersion to 1.2, the -- application can use the following versions of Vulkan: -- -- -- -- If we modify the above example so that the application sets -- apiVersion to 1.1, then the application must not use -- Vulkan 1.2 functionality on the physical device that supports Vulkan -- 1.2. -- -- Implicit layers must be disabled if they do not support a -- version at least as high as apiVersion. See the Vulkan -- Loader Specification and Architecture Overview document for -- additional information. -- -- Note -- -- Providing a NULL -- InstanceCreateInfo::pApplicationInfo or providing an -- apiVersion of 0 is equivalent to providing an -- apiVersion of VK_MAKE_VERSION(1,0,0). -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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: -- -- -- -- Queues supporting graphics and/or compute operations must -- report (1,1,1) in minImageTransferGranularity, meaning that -- there are no additional restrictions on the granularity of image -- transfer operations for these queues. Other queues supporting image -- transfer operations are only required to support whole mip -- level transfers, thus minImageTransferGranularity for queues -- belonging to such queue families may be (0,0,0). -- -- The Device Memory section describes memory properties queried -- from the physical device. -- -- For physical device feature queries see the Features chapter. -- --

See Also

-- -- Extent3D, QueueFamilyProperties2, QueueFlags, -- getPhysicalDeviceQueueFamilyProperties 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 -- 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: -- -- -- -- Note -- -- There is no ordering requirement between X and Y -- elements for the case their propertyFlags members are not in -- a subset relation. That potentially allows more than one possible way -- to order the same set of memory types. Notice that the list of all -- allowed memory property flag combinations is written in a valid -- order. But if instead MEMORY_PROPERTY_DEVICE_LOCAL_BIT was -- before MEMORY_PROPERTY_HOST_VISIBLE_BIT | -- MEMORY_PROPERTY_HOST_COHERENT_BIT, the list would still be in a -- valid order. -- -- There may be a performance penalty for using device coherent or -- uncached device memory types, and using these accidentally is -- undesirable. In order to avoid this, memory types with these -- properties always appear at the end of the list; but are subject to -- the same rules otherwise. -- -- This ordering requirement enables applications to use a simple search -- loop to select the desired memory type along the lines of: -- --
--   // Find a memory in `memoryTypeBitsRequirement` that includes all of `requiredProperties`
--   int32_t findProperties(const VkPhysicalDeviceMemoryProperties* pMemoryProperties,
--                          uint32_t memoryTypeBitsRequirement,
--                          VkMemoryPropertyFlags requiredProperties) {
--       const uint32_t memoryCount = pMemoryProperties->memoryTypeCount;
--       for (uint32_t memoryIndex = 0; memoryIndex < memoryCount; ++memoryIndex) {
--           const uint32_t memoryTypeBits = (1 << memoryIndex);
--           const bool isRequiredMemoryType = memoryTypeBitsRequirement & memoryTypeBits;
--   
--           const VkMemoryPropertyFlags properties =
--               pMemoryProperties->memoryTypes[memoryIndex].propertyFlags;
--           const bool hasRequiredProperties =
--               (properties & requiredProperties) == requiredProperties;
--   
--           if (isRequiredMemoryType && hasRequiredProperties)
--               return static_cast<int32_t>(memoryIndex);
--       }
--   
--       // failed to find memory type
--       return -1;
--   }
--   
--   // Try to find an optimal memory type, or if it does not exist try fallback memory type
--   // `device` is the VkDevice
--   // `image` is the VkImage that requires memory to be bound
--   // `memoryProperties` properties as returned by vkGetPhysicalDeviceMemoryProperties
--   // `requiredProperties` are the property flags that must be present
--   // `optimalProperties` are the property flags that are preferred by the application
--   VkMemoryRequirements memoryRequirements;
--   vkGetImageMemoryRequirements(device, image, &memoryRequirements);
--   int32_t memoryType =
--       findProperties(&memoryProperties, memoryRequirements.memoryTypeBits, optimalProperties);
--   if (memoryType == -1) // not found; try fallback properties
--       memoryType =
--           findProperties(&memoryProperties, memoryRequirements.memoryTypeBits, requiredProperties);
--   
-- --

See Also

-- -- MemoryHeap, MemoryType, -- PhysicalDeviceMemoryProperties2, -- getPhysicalDeviceMemoryProperties 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

-- -- 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

-- -- 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

-- -- 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

-- -- -- -- -- --

Description

-- -- Note -- -- There is no mechanism to query the size of an image before creating -- it, to compare that size against maxResourceSize. If an -- application attempts to create an image that exceeds this limit, the -- creation will fail and createImage will return -- ERROR_OUT_OF_DEVICE_MEMORY. While the advertised limit -- must be at least 231, it may not be possible to create -- an image that approaches that size, particularly for -- IMAGE_TYPE_1D. -- -- If the combination of parameters to -- getPhysicalDeviceImageFormatProperties is not supported by the -- implementation for use in createImage, then all members of -- ImageFormatProperties will be filled with zero. -- -- Note -- -- Filling ImageFormatProperties with zero for unsupported formats -- is an exception to the usual rule that output structures have -- undefined contents on error. This exception was unintentional, but is -- preserved for backwards compatibility. -- --

See Also

-- -- DeviceSize, Extent3D, -- ExternalImageFormatPropertiesNV, ImageFormatProperties2, -- SampleCountFlags, getPhysicalDeviceImageFormatProperties 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

-- -- The members of the PhysicalDeviceFeatures structure describe -- the following features: -- --

See Also

-- -- 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. -- -- [$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 draw -- 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 color fragment output from the fragment -- shader with the maximum representable alpha value for fixed-point -- colors or 1.0 for floating-point colors. 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 buffers, 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 buffers, 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 from -- storage images. If this feature is not enabled, the -- OpImageRead instruction must not have an -- OpTypeImage of Unknown. This also specifies whether -- shader modules can declare the -- StorageImageReadWithoutFormat capability. [$sel:shaderStorageImageReadWithoutFormat:PhysicalDeviceFeatures] :: PhysicalDeviceFeatures -> Bool -- | shaderStorageImageWriteWithoutFormat specifies whether -- storage images require a format qualifier to be specified when writing -- to storage images. If this feature is not enabled, the -- OpImageWrite instruction must not have an -- OpTypeImage of Unknown. This also specifies whether -- shader modules can declare the -- StorageImageWriteWithoutFormat capability. [$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, 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

-- -- 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 were 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. -- --

Description

-- -- -- --

See Also

-- -- 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 any -- DescriptorBufferInfo structures passed to a call 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 any -- DescriptorBufferInfo structures passed to a call 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 size 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, 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. The amount of storage -- consumed by the 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 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 dispatch 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 dispatch 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 -- 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 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 draw 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. [$sel:minMemoryMapAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> Word64 -- | minTexelBufferOffsetAlignment is the minimum required -- alignment, in bytes, for the offset member of the -- BufferViewCreateInfo structure for texel buffers. 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. [$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. [$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 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. [$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. [$sel:optimalBufferCopyRowPitchAlignment:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize -- | nonCoherentAtomSize is the size and alignment in bytes that -- bounds concurrent access to host-mapped device memory. [$sel:nonCoherentAtomSize:PhysicalDeviceLimits] :: PhysicalDeviceLimits -> DeviceSize -- | VkInstance - Opaque handle to an instance object -- --

See Also

-- -- createAndroidSurfaceKHR, createDebugReportCallbackEXT, -- createDebugUtilsMessengerEXT, createDirectFBSurfaceEXT, -- createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, -- createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, -- createInstance, createMacOSSurfaceMVK, -- createMetalSurfaceEXT, 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

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

-- -- -- -- -- --

See Also

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

-- -- InstanceCreateInfo newtype InstanceCreateFlags InstanceCreateFlags :: Flags -> InstanceCreateFlags -- | VkImageType - Specifies the type of an image object -- --

See Also

-- -- 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

-- -- 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 optimal -- 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 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: -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- AccelerationStructureGeometryTrianglesDataKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AttachmentDescription, AttachmentDescription2, -- BufferViewCreateInfo, FramebufferAttachmentImageInfo, -- GeometryTrianglesNV, ImageCreateInfo, -- ImageFormatListCreateInfo, ImageViewASTCDecodeModeEXT, -- ImageViewCreateInfo, PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceSparseImageFormatInfo2, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerYcbcrConversionCreateInfo, SurfaceFormatKHR, -- SwapchainCreateInfoKHR, VertexInputAttributeDescription, -- 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_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 -- dimensions of the BR plane is halved relative to the image dimensions, -- and each R and B value is shared with the G components for which -- (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location of -- each plane when this image is in linear layout can be determined via -- getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G16_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G16_B16_R16_3PLANE_422_UNORM :: Format -- | FORMAT_G16_B16R16_2PLANE_420_UNORM specifies an unsigned -- normalized multi-planar format that has a 16-bit G component in -- each 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 -- consisting of a 16-bit B component in the word in bytes 0..1, and a -- 16-bit R component in the word in bytes 2..3. The horizontal and -- vertical dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for -- which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R) and -- (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The location of -- each plane when this image is in linear layout can be determined via -- getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G16_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G16_B16_R16_3PLANE_420_UNORM :: Format -- | FORMAT_B16G16R16G16_422_UNORM specifies a four-component, -- 64-bit format containing a pair of G components, an R component, and a -- B component, collectively encoding a 2×1 rectangle of unsigned -- normalized RGB texel data. One G value is present at each i -- coordinate, with the B and R values shared across both G values and -- thus recorded at half the horizontal resolution of the image. This -- format has a 16-bit B component in the word in bytes 0..1, a 16-bit G -- component for the even i coordinate in the word in bytes 2..3, -- a 16-bit R component in the word in bytes 4..5, and a 16-bit G -- component for the odd i coordinate in the word in bytes 6..7. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_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. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_G16B16G16R16_422_UNORM :: Format -- | FORMAT_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, the bottom 4 bits of each -- word unused. The horizontal dimensions of the BR plane is halved -- relative to the image dimensions, and each R and B value is shared -- with the G components for which (leftlfloor i_G times 0.5 rightrfloor -- = i_B = i_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G12X4_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 :: Format -- | FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 specifies an -- unsigned normalized multi-planar format that has a 12-bit G -- component in the top 12 bits of each 16-bit word of plane 0, and a -- two-component, 32-bit BR plane 1 consisting of a 12-bit B component in -- the top 12 bits of the word in bytes 0..1, and a 12-bit R component in -- the top 12 bits of the word in bytes 2..3, the bottom 4 bits of each -- word unused. The horizontal and vertical dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which (leftlfloor i_G times 0.5 -- rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = -- j_B = j_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G12X4_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 :: Format -- | FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 specifies a -- four-component, 64-bit format containing a pair of G components, an R -- component, and a B component, collectively encoding a 2×1 rectangle of -- unsigned normalized RGB texel data. One G value is present at each -- i coordinate, with the B and R values shared across both G -- values and thus recorded at half the horizontal resolution of the -- image. This format has a 12-bit B component in the top 12 bits of the -- word in bytes 0..1, a 12-bit G component for the even i -- coordinate in the top 12 bits of the word in bytes 2..3, a 12-bit R -- component in the top 12 bits of the word in bytes 4..5, and a 12-bit G -- component for the odd i coordinate in the top 12 bits of the -- word in bytes 6..7, with the bottom 4 bits of each word unused. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_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. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 :: Format -- | FORMAT_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, the bottom 6 bits of each -- word unused. The horizontal dimensions of the BR plane is halved -- relative to the image dimensions, and each R and B value is shared -- with the G components for which (leftlfloor i_G times 0.5 rightrfloor -- = i_B = i_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G10X6_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 :: Format -- | FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 specifies an -- unsigned normalized multi-planar format that has a 10-bit G -- component in the top 10 bits of each 16-bit word of plane 0, and a -- two-component, 32-bit BR plane 1 consisting of a 10-bit B component in -- the top 10 bits of the word in bytes 0..1, and a 10-bit R component in -- the top 10 bits of the word in bytes 2..3, the bottom 6 bits of each -- word unused. The horizontal and vertical dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which (leftlfloor i_G times 0.5 -- rightrfloor = i_B = i_R) and (leftlfloor j_G times 0.5 rightrfloor = -- j_B = j_R). The location of each plane when this image is in linear -- layout can be determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G10X6_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 :: Format -- | FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 specifies a -- four-component, 64-bit format containing a pair of G components, an R -- component, and a B component, collectively encoding a 2×1 rectangle of -- unsigned normalized RGB texel data. One G value is present at each -- i coordinate, with the B and R values shared across both G -- values and thus recorded at half the horizontal resolution of the -- image. This format has a 10-bit B component in the top 10 bits of the -- word in bytes 0..1, a 10-bit G component for the even i -- coordinate in the top 10 bits of the word in bytes 2..3, a 10-bit R -- component in the top 10 bits of the word in bytes 4..5, and a 10-bit G -- component for the odd i coordinate in the top 10 bits of the -- word in bytes 6..7, with the bottom 6 bits of each word unused. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_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. Images -- in this format must be defined with a width that is a multiple -- of two. For the purposes of the constraints on copy extents, this -- format is treated as a compressed format with a 2×1 compressed texel -- block. pattern FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 :: Format -- | FORMAT_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 dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for -- which (leftlfloor i_G times 0.5 rightrfloor = i_B = i_R). The location -- of each plane when this image is in linear layout can be determined -- via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width that is a multiple of two. pattern FORMAT_G8_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. Images in this format -- must be defined with a width that is a multiple of two. pattern FORMAT_G8_B8_R8_3PLANE_422_UNORM :: Format -- | FORMAT_G8_B8R8_2PLANE_420_UNORM specifies an unsigned -- normalized multi-planar format that has an 8-bit G component in -- plane 0, and a two-component, 16-bit BR plane 1 consisting of an 8-bit -- B component in byte 0 and an 8-bit R component in byte 1. The -- horizontal and vertical dimensions of the BR plane is halved relative -- to the image dimensions, and each R and B value is shared with the G -- components for which (leftlfloor i_G times 0.5 rightrfloor = i_B = -- i_R) and (leftlfloor j_G times 0.5 rightrfloor = j_B = j_R). The -- location of each plane when this image is in linear layout can be -- determined via getImageSubresourceLayout, using -- IMAGE_ASPECT_PLANE_0_BIT for the G plane, and -- IMAGE_ASPECT_PLANE_1_BIT for the BR plane. Images in this -- format must be defined with a width and height that is a -- multiple of two. pattern FORMAT_G8_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. Images in this format -- must be defined with a width and height that is a multiple of -- two. pattern FORMAT_G8_B8_R8_3PLANE_420_UNORM :: Format -- | FORMAT_B8G8R8G8_422_UNORM specifies a four-component, 32-bit -- format containing a pair of G components, an R component, and a B -- component, collectively encoding a 2×1 rectangle of unsigned -- normalized RGB texel data. One G value is present at each i -- coordinate, with the B and R values shared across both G values and -- thus recorded at half the horizontal resolution of the image. This -- format has an 8-bit B component in byte 0, an 8-bit G component for -- the even i coordinate in byte 1, an 8-bit R component in byte -- 2, and an 8-bit G component for the odd i coordinate in byte 3. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_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. -- Images in this format must be defined with a width that is a -- multiple of two. For the purposes of the constraints on copy extents, -- this format is treated as a compressed format with a 2×1 compressed -- texel block. pattern FORMAT_G8B8G8R8_422_UNORM :: Format -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | 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

-- -- QueueFlags newtype QueueFlagBits QueueFlagBits :: Flags -> QueueFlagBits pattern QUEUE_GRAPHICS_BIT :: QueueFlagBits pattern QUEUE_COMPUTE_BIT :: QueueFlagBits pattern QUEUE_TRANSFER_BIT :: QueueFlagBits pattern QUEUE_SPARSE_BINDING_BIT :: QueueFlagBits 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

-- -- 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_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

-- -- 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

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

-- -- 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: -- -- 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

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

See Also

-- -- FormatFeatureFlags 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 images. 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. If this bit is not present, linear filtering with -- depth compare disabled is unsupported and linear filtering with depth -- compare enabled is supported, but may compute the filtered -- value in an implementation-dependent manner which differs from the -- normal rules of linear filtering. The resulting value must be -- in the range [0,1] and should be proportional to, or a weighted -- average of, the number of comparison passes or failures. pattern FORMAT_FEATURE_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 that 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 the format can do linear sampler filtering -- (min/magFilter) whilst sampler Y′CBCR conversion is enabled. 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

-- -- AttachmentDescription, AttachmentDescription2, -- 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

-- -- AllocationCallbacks type PFN_vkInternalAllocationNotification = FunPtr FN_vkInternalAllocationNotification type FN_vkInternalFreeNotification = ("pUserData" ::: Ptr ()) -> CSize -> InternalAllocationType -> SystemAllocationScope -> IO () -- | PFN_vkInternalFreeNotification - Application-defined memory free -- notification function -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- AllocationCallbacks type PFN_vkFreeFunction = FunPtr FN_vkFreeFunction type FN_vkVoidFunction = () -> IO () -- | PFN_vkVoidFunction - Placeholder function pointer type returned by -- queries -- --

See Also

-- -- getDeviceProcAddr, getInstanceProcAddr type PFN_vkVoidFunction = FunPtr FN_vkVoidFunction instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.FormatProperties instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.MemoryHeap instance GHC.Classes.Eq Vulkan.Core10.DeviceInitialization.MemoryType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- 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

-- -- 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.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 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 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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.ExportMemoryWin32HandleInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory_win32.ImportMemoryWin32HandleInfoNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- Device, MemoryGetWin32HandleInfoKHR getMemoryWin32HandleKHR :: forall io. MonadIO io => Device -> MemoryGetWin32HandleInfoKHR -> io HANDLE -- | vkGetMemoryWin32HandlePropertiesKHR - Get Properties of External -- Memory Win32 Handles -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- ExternalMemoryHandleTypeFlagBits, StructureType data ImportMemoryWin32HandleInfoKHR ImportMemoryWin32HandleInfoKHR :: ExternalMemoryHandleTypeFlagBits -> HANDLE -> LPCWSTR -> ImportMemoryWin32HandleInfoKHR -- | handleType specifies the type of handle or -- name. [$sel:handleType:ImportMemoryWin32HandleInfoKHR] :: ImportMemoryWin32HandleInfoKHR -> ExternalMemoryHandleTypeFlagBits -- | handle is the external handle to import, or NULL. [$sel:handle:ImportMemoryWin32HandleInfoKHR] :: ImportMemoryWin32HandleInfoKHR -> HANDLE -- | name is a null-terminated UTF-16 string naming the payload to -- import, or NULL. [$sel:name:ImportMemoryWin32HandleInfoKHR] :: ImportMemoryWin32HandleInfoKHR -> LPCWSTR -- | VkExportMemoryWin32HandleInfoKHR - Structure specifying additional -- attributes of Windows handles exported from a memory -- --

Description

-- -- If ExportMemoryAllocateInfo is not present in the same -- pNext chain, this structure is ignored. -- -- If ExportMemoryAllocateInfo is present in the pNext -- chain of MemoryAllocateInfo with a Windows handleType, -- but either ExportMemoryWin32HandleInfoKHR is not present 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_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT -- EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT -- -- The implementation must ensure the access rights allow read and -- write access to the memory. -- -- For handles of the following types: -- -- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT -- EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT -- -- The access rights must be: -- --
--   GENERIC_ALL
--   
-- -- -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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.ImportMemoryWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryGetWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_memory_win32.MemoryWin32HandlePropertiesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- -- --

See Also

-- -- 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 specifies the type of handle. [$sel:handleType:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> ExternalSemaphoreHandleTypeFlagBits -- | handle is the external handle to import, or NULL. [$sel:handle:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> HANDLE -- | name is a null-terminated UTF-16 string naming the underlying -- synchronization primitive to import, or NULL. [$sel:name:ImportSemaphoreWin32HandleInfoKHR] :: ImportSemaphoreWin32HandleInfoKHR -> LPCWSTR -- | VkExportSemaphoreWin32HandleInfoKHR - Structure specifying additional -- attributes of Windows handles exported from a semaphore -- --

Description

-- -- If ExportSemaphoreCreateInfo is not present in the same -- pNext chain, this structure is ignored. -- -- If ExportSemaphoreCreateInfo is present in the pNext -- chain of SemaphoreCreateInfo with a Windows -- handleType, but either -- ExportSemaphoreWin32HandleInfoKHR is not present 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)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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.SemaphoreGetWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_win32.ExportSemaphoreWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 doesn’t justify the extra API complexity. -- --

Version History

-- -- -- --

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

-- -- 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

-- -- 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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 specifies the type of handle. [$sel:handleType:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> ExternalFenceHandleTypeFlagBits -- | handle is the external handle to import, or NULL. [$sel:handle:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> HANDLE -- | name is a null-terminated UTF-16 string naming the underlying -- synchronization primitive to import, or NULL. [$sel:name:ImportFenceWin32HandleInfoKHR] :: ImportFenceWin32HandleInfoKHR -> LPCWSTR -- | VkExportFenceWin32HandleInfoKHR - Structure specifying additional -- attributes of Windows handles exported from a fence -- --

Description

-- -- If ExportFenceCreateInfo is not present in the same -- pNext chain, this structure is ignored. -- -- If ExportFenceCreateInfo is present in the pNext chain -- of FenceCreateInfo with a Windows handleType, but -- either ExportFenceWin32HandleInfoKHR is not present 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 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.FenceGetWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_win32.ExportFenceWin32HandleInfoKHR instance GHC.Classes.Eq Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- 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

-- -- 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

-- -- 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.ExportMemoryAllocateInfoNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_external_memory.ExternalMemoryImageCreateInfoNV 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

-- -- 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 -- contain members corresponding to properties or -- implementation-dependent limits. getPhysicalDeviceProperties2 -- writes each member to a value indicating the value of that property or -- limit. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 -- --

Members

-- -- The PhysicalDeviceFeatures2 structure is defined as: -- --

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

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 the number of samples per texel as defined in -- SampleCountFlagBits. -- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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 the other errors). If that -- occurs, createDevice will return ERROR_TOO_MANY_OBJECTS. -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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 to create 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- acquireFullScreenExclusiveModeEXT, acquireNextImage2KHR, -- acquireNextImageKHR, -- acquirePerformanceConfigurationINTEL, -- acquireProfilingLockKHR, allocateCommandBuffers, -- allocateDescriptorSets, allocateMemory, -- bindAccelerationStructureMemoryNV, bindBufferMemory, -- bindBufferMemory2, bindBufferMemory2KHR, -- bindImageMemory, bindImageMemory2, -- bindImageMemory2KHR, buildAccelerationStructuresKHR, -- compileDeferredNV, copyAccelerationStructureKHR, -- copyAccelerationStructureToMemoryKHR, -- copyMemoryToAccelerationStructureKHR, -- createAccelerationStructureKHR, -- createAccelerationStructureNV, createBuffer, -- createBufferView, createCommandPool, -- createComputePipelines, 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, -- debugMarkerSetObjectNameEXT, debugMarkerSetObjectTagEXT, -- deferredOperationJoinKHR, -- destroyAccelerationStructureKHR, -- destroyAccelerationStructureNV, destroyBuffer, -- destroyBufferView, destroyCommandPool, -- 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, deviceWaitIdle, -- displayPowerControlEXT, flushMappedMemoryRanges, -- freeCommandBuffers, freeDescriptorSets, -- freeMemory, getAccelerationStructureBuildSizesKHR, -- getAccelerationStructureDeviceAddressKHR, -- getAccelerationStructureHandleNV, -- getAccelerationStructureMemoryRequirementsNV, -- getAndroidHardwareBufferPropertiesANDROID, -- getBufferDeviceAddress, getBufferDeviceAddressEXT, -- getBufferDeviceAddressKHR, getBufferMemoryRequirements, -- getBufferMemoryRequirements2, -- getBufferMemoryRequirements2KHR, -- getBufferOpaqueCaptureAddress, -- getBufferOpaqueCaptureAddressKHR, -- getCalibratedTimestampsEXT, -- getDeferredOperationMaxConcurrencyKHR, -- getDeferredOperationResultKHR, -- getDescriptorSetLayoutSupport, -- getDescriptorSetLayoutSupportKHR, -- getDeviceAccelerationStructureCompatibilityKHR, -- getDeviceGroupPeerMemoryFeatures, -- getDeviceGroupPeerMemoryFeaturesKHR, -- getDeviceGroupPresentCapabilitiesKHR, -- getDeviceGroupSurfacePresentModes2EXT, -- getDeviceGroupSurfacePresentModesKHR, -- getDeviceMemoryCommitment, -- getDeviceMemoryOpaqueCaptureAddress, -- getDeviceMemoryOpaqueCaptureAddressKHR, -- getDeviceProcAddr, getDeviceQueue, -- getDeviceQueue2, getEventStatus, getFenceFdKHR, -- getFenceStatus, getFenceWin32HandleKHR, -- getGeneratedCommandsMemoryRequirementsNV, -- getImageDrmFormatModifierPropertiesEXT, -- getImageMemoryRequirements, getImageMemoryRequirements2, -- getImageMemoryRequirements2KHR, -- getImageSparseMemoryRequirements, -- getImageSparseMemoryRequirements2, -- getImageSparseMemoryRequirements2KHR, -- getImageSubresourceLayout, getImageViewAddressNVX, -- getImageViewHandleNVX, -- getMemoryAndroidHardwareBufferANDROID, getMemoryFdKHR, -- getMemoryFdPropertiesKHR, -- getMemoryHostPointerPropertiesEXT, -- getMemoryWin32HandleKHR, getMemoryWin32HandleNV, -- getMemoryWin32HandlePropertiesKHR, -- getPastPresentationTimingGOOGLE, -- getPerformanceParameterINTEL, getPipelineCacheData, -- getPipelineExecutableInternalRepresentationsKHR, -- getPipelineExecutablePropertiesKHR, -- getPipelineExecutableStatisticsKHR, getPrivateDataEXT, -- getQueryPoolResults, -- getRayTracingCaptureReplayShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesKHR, -- getRayTracingShaderGroupHandlesNV, -- getRayTracingShaderGroupStackSizeKHR, -- getRefreshCycleDurationGOOGLE, getRenderAreaGranularity, -- getSemaphoreCounterValue, getSemaphoreCounterValueKHR, -- getSemaphoreFdKHR, getSemaphoreWin32HandleKHR, -- getShaderInfoAMD, getSwapchainCounterEXT, -- getSwapchainImagesKHR, getSwapchainStatusKHR, -- getValidationCacheDataEXT, importFenceFdKHR, -- importFenceWin32HandleKHR, importSemaphoreFdKHR, -- importSemaphoreWin32HandleKHR, -- initializePerformanceApiINTEL, -- invalidateMappedMemoryRanges, mapMemory, -- mergePipelineCaches, mergeValidationCachesEXT, -- registerDeviceEventEXT, registerDisplayEventEXT, -- releaseFullScreenExclusiveModeEXT, -- releasePerformanceConfigurationINTEL, -- releaseProfilingLockKHR, resetCommandPool, -- resetDescriptorPool, resetEvent, resetFences, -- resetQueryPool, resetQueryPoolEXT, -- setDebugUtilsObjectNameEXT, setDebugUtilsObjectTagEXT, -- setEvent, setHdrMetadataEXT, setLocalDimmingAMD, -- setPrivateDataEXT, signalSemaphore, -- signalSemaphoreKHR, trimCommandPool, -- trimCommandPoolKHR, uninitializePerformanceApiINTEL, -- unmapMemory, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR, -- updateDescriptorSets, waitForFences, -- 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

-- -- DeviceCreateInfo newtype DeviceCreateFlags DeviceCreateFlags :: Flags -> DeviceCreateFlags -- | VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue -- --

See Also

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- AllocationCallbacks, DescriptorSetLayout, Device destroyDescriptorSetLayout :: forall io. MonadIO io => Device -> DescriptorSetLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io () -- | vkCreateDescriptorPool - Creates a descriptor pool object -- --

Description

-- -- pAllocator controls host memory allocation as described in -- the Memory Allocation chapter. -- -- The created descriptor pool is returned in pDescriptorPool. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Return Codes

-- -- -- --

See Also

-- -- 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: -- -- -- -- 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 -- member 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Return Codes

-- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

See Also

-- -- CopyDescriptorSet, Device, WriteDescriptorSet updateDescriptorSets :: forall io. MonadIO io => Device -> ("descriptorWrites" ::: Vector (SomeStruct WriteDescriptorSet)) -> ("descriptorCopies" ::: Vector CopyDescriptorSet) -> io () -- | VkDescriptorBufferInfo - Structure specifying descriptor buffer info -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 info -- --

Description

-- -- Members of DescriptorImageInfo that are not used in an update -- (as described above) are ignored. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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. -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 (the -- number of elements in pImageInfo, pBufferInfo, or -- pTexelBufferView , or a value matching the dataSize -- member of a WriteDescriptorSetInlineUniformBlockEXT structure -- in the pNext chain , or a value matching the -- accelerationStructureCount of a -- WriteDescriptorSetAccelerationStructureKHR structure in the -- pNext chain ). 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. [$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 that 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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)

-- -- -- -- -- --

See Also

-- -- 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

-- -- CopyDescriptorSet, WriteDescriptorSet, -- allocateDescriptorSets, cmdBindDescriptorSets, -- freeDescriptorSets, updateDescriptorSetWithTemplate, -- updateDescriptorSetWithTemplateKHR newtype DescriptorSet DescriptorSet :: Word64 -> DescriptorSet -- | VkDescriptorSetLayout - Opaque handle to a descriptor set layout -- object -- --

See Also

-- -- DescriptorSetAllocateInfo, -- DescriptorUpdateTemplateCreateInfo, -- PipelineLayoutCreateInfo, createDescriptorSetLayout, -- destroyDescriptorSetLayout newtype DescriptorSetLayout DescriptorSetLayout :: Word64 -> DescriptorSetLayout -- | VkDescriptorPool - Opaque handle to a descriptor pool object -- --

See Also

-- -- 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

-- -- 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: -- -- -- -- 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

-- -- 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

-- -- 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

-- -- 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.DescriptorPoolSize instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.CopyDescriptorSet instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.DescriptorImageInfo instance GHC.Classes.Eq Vulkan.Core10.DescriptorSet.DescriptorBufferInfo 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

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 draw or dispatch -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

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 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

-- -- 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 -- --

Members

-- -- The members of the PhysicalDevicePushDescriptorPropertiesKHR -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDevicePushDescriptorPropertiesKHR structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

Description

-- -- Applications may wish to update a fixed set of descriptors in a large -- number of descriptors 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

-- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

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 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

-- -- 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

-- -- 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_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_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

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceMaintenance3Properties -- structure describe the following implementation-dependent limits: -- --

Description

-- -- If the PhysicalDeviceMaintenance3Properties structure is -- included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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: -- -- -- --

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

-- -- -- --

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 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_MAINTENANCE3_SPEC_VERSION = 1 pattern KHR_MAINTENANCE3_SPEC_VERSION :: forall a. Integral a => a type KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" pattern KHR_MAINTENANCE3_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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, Pipeline, PipelineBindPoint cmdBindPipeline :: forall io. MonadIO io => CommandBuffer -> PipelineBindPoint -> Pipeline -> io () -- | vkCmdSetViewport - Set the viewport on a command buffer -- --

Description

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, Viewport cmdSetViewport :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("viewports" ::: Vector Viewport) -> io () -- | vkCmdSetScissor - Set the dynamic scissor rectangles on 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 state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_SCISSOR set in -- PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, Rect2D cmdSetScissor :: forall io. MonadIO io => CommandBuffer -> ("firstScissor" ::: Word32) -> ("scissors" ::: Vector Rect2D) -> io () -- | vkCmdSetLineWidth - Set the dynamic line width state -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdSetLineWidth :: forall io. MonadIO io => CommandBuffer -> ("lineWidth" ::: Float) -> io () -- | vkCmdSetDepthBias - Set the depth bias dynamic state -- --

Description

-- -- If depthBiasEnable is FALSE, no depth bias is applied -- and the fragment’s depth values are unchanged. -- -- depthBiasSlopeFactor scales the maximum depth slope of the -- polygon, and depthBiasConstantFactor scales an -- implementation-dependent constant that relates to the usable -- resolution of the depth buffer. The resulting values are summed to -- produce the depth bias value which is then clamped to a minimum or -- maximum value specified by depthBiasClamp. -- depthBiasSlopeFactor, depthBiasConstantFactor, and -- depthBiasClamp can each be positive, negative, or -- zero. -- -- The maximum depth slope m of a triangle is -- -- <math> -- -- where (xf, yf, zf) is a point on the triangle. m may be -- approximated as -- -- <math> -- -- The minimum resolvable difference r is an implementation-dependent -- parameter that depends on the depth buffer representation. It is the -- smallest difference in framebuffer coordinate z values that is -- guaranteed to remain distinct throughout polygon rasterization and in -- the depth buffer. All pairs of fragments generated by the -- rasterization of two polygons with otherwise identical vertices, but -- zf values that differ by r, will have distinct depth values. -- -- For fixed-point depth buffer representations, r is constant throughout -- the range of the entire depth buffer. For floating-point depth -- buffers, there is no single minimum resolvable difference. In this -- case, the minimum resolvable difference for a given polygon is -- dependent on the maximum exponent, e, in the range of z values spanned -- by the primitive. If n is the number of bits in the floating-point -- mantissa, the minimum resolvable difference, r, for the given -- primitive is defined as -- -- -- -- If a triangle is rasterized using the -- POLYGON_MODE_FILL_RECTANGLE_NV polygon mode, then this minimum -- resolvable difference may not be resolvable for samples outside -- of the triangle, where the depth is extrapolated. -- -- If no depth buffer is present, r is undefined. -- -- The bias value o for a polygon is -- -- [begin{aligned} o &= mathrm{dbclamp}( m times -- mathtt{depthBiasSlopeFactor} + r times mathtt{depthBiasConstantFactor} -- ) -- text{where} &quad mathrm{dbclamp}(x) = -- -- Command Buffer Levels | Render Pass Scope | Supported -- Queue Types | Pipeline Type | -- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================+ -- | Primary | Both | Graphics | | | Secondary | | | | -- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ -- --

See Also

-- -- CommandBuffer cmdSetDepthBias :: forall io. MonadIO io => CommandBuffer -> ("depthBiasConstantFactor" ::: Float) -> ("depthBiasClamp" ::: Float) -> ("depthBiasSlopeFactor" ::: Float) -> io () -- | vkCmdSetBlendConstants - Set the values of blend constants -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdSetBlendConstants :: forall io. MonadIO io => CommandBuffer -> ("blendConstants" ::: (Float, Float, Float, Float)) -> io () -- | vkCmdSetDepthBounds - Set the depth bounds test values for a command -- buffer -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_DEPTH_BOUNDS set in -- PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdSetDepthBounds :: forall io. MonadIO io => CommandBuffer -> ("minDepthBounds" ::: Float) -> ("maxDepthBounds" ::: Float) -> io () -- | vkCmdSetStencilCompareMask - Set the stencil compare mask dynamic -- state -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_STENCIL_COMPARE_MASK set -- in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, StencilFaceFlags cmdSetStencilCompareMask :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> io () -- | vkCmdSetStencilWriteMask - Set the stencil write mask dynamic state -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_STENCIL_WRITE_MASK set -- in PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, StencilFaceFlags cmdSetStencilWriteMask :: forall io. MonadIO io => CommandBuffer -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> io () -- | vkCmdSetStencilReference - Set the stencil reference dynamic state -- --

Description

-- -- This command sets the state for a given draw when the graphics -- pipeline is created with DYNAMIC_STATE_STENCIL_REFERENCE set in -- PipelineDynamicStateCreateInfo::pDynamicStates. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 draw or -- dispatch 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: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 draw 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdDraw :: forall io. MonadIO io => CommandBuffer -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> io () -- | vkCmdDrawIndexed - Issue an indexed draw into a command buffer -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdDrawIndexed :: forall io. MonadIO io => CommandBuffer -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> io () -- | vkCmdDrawIndirect - Issue an indirect draw into a command buffer -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- Buffer, CommandBuffer, DeviceSize cmdDrawIndirect :: forall io. MonadIO io => CommandBuffer -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> io () -- | vkCmdDrawIndexedIndirect - Perform an indexed indirect draw -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer cmdDispatch :: forall io. MonadIO io => CommandBuffer -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> io () -- | vkCmdDispatchIndirect - Dispatch compute work items using 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 the format of srcImage or dstImage is a -- multi-planar image 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: -- -- -- -- Similarly, if the dstImage is compressed, then: -- -- -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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: -- -- -- -- 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: -- -- -- -- Signed and unsigned integers are converted by first clamping to the -- representable range of the destination format, then casting the value. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 the format of dstImage is a multi-planar image -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 the Format of srcImage is a multi-planar image -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- cmdClearAttachments can clear multiple regions of each -- attachment used in the current subpass of a render pass instance. This -- command must be called only inside a render pass instance, and -- implicitly selects the images to clear based on the current -- framebuffer attachments and the command parameters. -- -- 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- When cmdSetEvent is submitted to a queue, it defines an -- execution dependency on commands that were submitted before it, and -- defines an event signal operation which sets the event to the signaled -- state. -- -- The first synchronization scope includes all commands that -- occur earlier in submission order. The synchronization scope is -- limited to operations on the pipeline stages determined by the -- source stage mask specified by stageMask. -- -- The second synchronization scope includes only the event signal -- operation. -- -- If event is already in the signaled state when -- cmdSetEvent is executed on the device, then cmdSetEvent -- has no effect, no event signal operation occurs, and no execution -- dependency is generated. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, Event, PipelineStageFlags cmdSetEvent :: forall io. MonadIO io => CommandBuffer -> Event -> ("stageMask" ::: PipelineStageFlags) -> io () -- | vkCmdResetEvent - Reset an event object to non-signaled state -- --

Description

-- -- When cmdResetEvent 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 on the pipeline stages determined by the -- source stage mask specified by stageMask. -- -- The second synchronization scope includes only the event -- unsignal operation. -- -- If event is already in the unsignaled state when -- cmdResetEvent is executed on the device, then -- cmdResetEvent has no effect, no event unsignal operation -- occurs, and no execution dependency is generated. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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 access 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 access 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. -- -- Note -- -- cmdWaitEvents is used with cmdSetEvent 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. -- -- Unlike cmdPipelineBarrier, a queue family ownership -- transfer cannot be performed using cmdWaitEvents. -- -- Note -- -- Applications should be careful to avoid race conditions when -- using events. There is no direct ordering guarantee between a -- cmdResetEvent command and cmdSetEvent or -- cmdWaitEvents commands submitted after it. Similarly, there is -- no ordering guarantee between sequential cmdSetEvent commands, -- leading to a race condition on the event status. Waiting on an event -- in these cases without additional synchronization can result in a data -- race. Another execution dependency (e.g. a pipeline barrier or -- semaphore with PIPELINE_STAGE_ALL_COMMANDS_BIT) is needed to -- prevent such race conditions. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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 access 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 access 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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. -- -- Timestamps may only be meaningfully compared if they are -- written by commands submitted to the same queue. -- -- Note -- -- An example of such a comparison is determining 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: -- -- -- -- In either case, the application can sum the differences between -- all N queries to determine the total execution time. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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. -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 from. [$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

-- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 the specified source and destination regions. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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: -- -- -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 info -- --

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. -- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 that contains -- 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

-- -- -- --

See Also

-- -- 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 -- --

Description

-- -- No memory barriers are needed between cmdClearAttachments and -- preceding or subsequent draw or attachment clear commands in the same -- subpass. -- -- The cmdClearAttachments command is not affected by the bound -- pipeline state. -- -- Attachments can also be cleared at the beginning of a render -- pass instance by setting loadOp (or stencilLoadOp) -- of AttachmentDescription to ATTACHMENT_LOAD_OP_CLEAR, as -- described for createRenderPass. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 to the pColorAttachments array in the -- SubpassDescription structure of the current subpass which -- selects the color attachment to clear. [$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

-- -- 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

-- -- 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

-- -- 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.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearValue instance GHC.Show.Show Vulkan.Core10.CommandBufferBuilding.ClearColorValue instance GHC.Classes.Eq Vulkan.Core10.CommandBufferBuilding.ClearDepthStencilValue instance GHC.Classes.Eq Vulkan.Core10.CommandBufferBuilding.BufferCopy instance GHC.Classes.Eq Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers 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_copy_commands2 - device extension -- --

VK_KHR_copy_commands2

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 -- contain*Info2KHR structure parameter that includes -- sType/pNext members. Lower level structures that -- describe each region to be copied are also extended with -- sType/pNext members. -- --

New Commands

-- -- -- -- -- --

New Structures

-- -- -- -- -- --

New Enum Constants

-- -- -- -- -- --

Version History

-- -- -- --

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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, ResolveImageInfo2KHR cmdResolveImage2KHR :: forall io. MonadIO io => CommandBuffer -> ResolveImageInfo2KHR -> io () -- | VkBufferCopy2KHR - Structure specifying a buffer copy operation -- --

Valid Usage

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 a -- image to buffer copy command -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 re-use 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 doesn’t make much sense as the existing -- fixed border color types don’t 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

-- -- -- -- -- --

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)

-- -- -- -- -- --

See Also

-- -- 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 -- --

Members

-- -- The members of the PhysicalDeviceCustomBorderColorPropertiesEXT -- structure describe the following features: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- The members of the PhysicalDeviceCustomBorderColorFeaturesEXT -- structure describe the following features: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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.PhysicalDeviceCustomBorderColorFeaturesEXT instance GHC.Classes.Eq Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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 format is a depth/stencil format, and -- initialLayout only specifies the initial layout of the depth -- aspect of the attachment, the initial layout of the stencil aspect is -- specified by the stencilInitialLayout member of a -- AttachmentDescriptionStencilLayout structure included in the -- pNext chain. Otherwise, initialLayout describes the -- initial layout for all relevant image aspects. -- -- If format is a depth/stencil format, and finalLayout -- only specifies the final layout of the depth aspect of the attachment, -- the final layout of the stencil aspect is specified by the -- stencilFinalLayout member of a -- AttachmentDescriptionStencilLayout structure included in the -- pNext chain. Otherwise, finalLayout describes the -- final layout for all relevant image aspects. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 the number of samples of the image as defined in -- SampleCountFlagBits. [$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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- RenderPassCreateInfo::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 an instance of FragmentShadingRateAttachmentInfoKHR 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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 -- AttachmentReference2 structures defining the color attachments -- for this subpass and their layouts. [$sel:colorAttachments:SubpassDescription2] :: SubpassDescription2 (es :: [Type]) -> Vector (SomeStruct AttachmentReference2) -- | pResolveAttachments is an optional 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. -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AccessFlags, DependencyFlags, PipelineStageFlags, -- RenderPassCreateInfo2, StructureType data SubpassDependency2 SubpassDependency2 :: Word32 -> Word32 -> PipelineStageFlags -> PipelineStageFlags -> AccessFlags -> AccessFlags -> DependencyFlags -> Int32 -> SubpassDependency2 -- | srcSubpass is the subpass index of the first subpass in the -- dependency, or SUBPASS_EXTERNAL. [$sel:srcSubpass:SubpassDependency2] :: SubpassDependency2 -> Word32 -- | dstSubpass is the subpass index of the second subpass in the -- dependency, or SUBPASS_EXTERNAL. [$sel:dstSubpass:SubpassDependency2] :: SubpassDependency2 -> Word32 -- | srcStageMask is a bitmask of PipelineStageFlagBits -- specifying the source stage mask. [$sel:srcStageMask:SubpassDependency2] :: SubpassDependency2 -> PipelineStageFlags -- | dstStageMask is a bitmask of PipelineStageFlagBits -- specifying the destination stage mask [$sel:dstStageMask:SubpassDependency2] :: SubpassDependency2 -> PipelineStageFlags -- | srcAccessMask is a bitmask of AccessFlagBits -- specifying a source access mask. [$sel:srcAccessMask:SubpassDependency2] :: SubpassDependency2 -> AccessFlags -- | dstAccessMask is a bitmask of AccessFlagBits -- specifying a destination access mask. [$sel:dstAccessMask:SubpassDependency2] :: SubpassDependency2 -> AccessFlags -- | dependencyFlags is a bitmask of DependencyFlagBits. [$sel:dependencyFlags:SubpassDependency2] :: SubpassDependency2 -> DependencyFlags -- | viewOffset controls which views in the source subpass the -- views in the destination subpass depend on. [$sel:viewOffset:SubpassDependency2] :: SubpassDependency2 -> 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AttachmentDescription2, RenderPassCreateFlags, -- StructureType, SubpassDependency2, -- SubpassDescription2, createRenderPass2, -- createRenderPass2KHR data RenderPassCreateInfo2 (es :: [Type]) RenderPassCreateInfo2 :: Chain es -> RenderPassCreateFlags -> Vector (SomeStruct AttachmentDescription2) -> Vector (SomeStruct SubpassDescription2) -> Vector 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 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 info -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 info -- --

Valid Usage (Implicit)

-- --

See Also

-- -- StructureType, cmdEndRenderPass2, -- cmdEndRenderPass2KHR, cmdNextSubpass2, -- cmdNextSubpass2KHR data SubpassEndInfo SubpassEndInfo :: SubpassEndInfo -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType instance GHC.Classes.Eq Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo 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.SubpassDependency2 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.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 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.ToCStruct Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 instance Vulkan.CStruct.FromCStruct Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 instance Foreign.Storable.Storable Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 instance Vulkan.Zero.Zero Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDependency2 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- -- -- --

Version History

-- -- -- --

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 -- dynamically -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- 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: -- -- -- -- 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 are supported for this rate. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- PhysicalDevice, PhysicalDeviceFragmentShadingRateKHR getPhysicalDeviceFragmentShadingRatesKHR :: forall io. MonadIO io => PhysicalDevice -> io (Result, "fragmentShadingRates" ::: Vector PhysicalDeviceFragmentShadingRateKHR) pattern IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR :: ImageLayout pattern ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits pattern IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: ImageUsageFlagBits pattern PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits -- | VkFragmentShadingRateAttachmentInfoKHR - Structure specifying a -- fragment shading rate attachment for a subpass -- --

Description

-- -- If no shading rate attachment is specified, or if this structure isn’t -- 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

-- -- AttachmentReference2, Extent2D, StructureType data FragmentShadingRateAttachmentInfoKHR FragmentShadingRateAttachmentInfoKHR :: SomeStruct AttachmentReference2 -> Extent2D -> FragmentShadingRateAttachmentInfoKHR -- | pFragmentShadingRateAttachment is an optional -- AttachmentReference2KHR structure defining the fragment shading -- rate attachment for this subpass. [$sel:fragmentShadingRateAttachment:FragmentShadingRateAttachmentInfoKHR] :: FragmentShadingRateAttachmentInfoKHR -> 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 that control 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

-- -- 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 draw 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

-- -- The members of the PhysicalDeviceFragmentShadingRateFeaturesKHR -- structure describe the following features: -- --

Description

-- -- If the PhysicalDeviceFragmentShadingRateFeaturesKHR structure -- is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceFragmentShadingRateFeaturesKHR can also be -- used in the pNext chain of DeviceCreateInfo to enable -- these features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceFragmentShadingRatePropertiesKHR structure -- describe the following implementation-dependent properties related to -- fragment shading rates: -- --

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 -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 specifies 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 -- VK_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

-- -- 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

-- -- 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 combiner operation of -- combine(Axy,Bxy) = Axy*Bxy. pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR :: FragmentShadingRateCombinerOpKHR type KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 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 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.Classes.Eq Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- --
    --
  1. 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.
  2. --
-- --
    --
  1. 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.
  2. --
  3. 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.
  4. --
  5. 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 don’t 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 doesn’t 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.
  6. --
-- --

Version History

-- -- -- --

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 using enums -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

Command Properties

-- -- ' -- -- TODO: table -- --

See Also

-- -- CommandBuffer, FragmentShadingRateCombinerOpKHR, -- FragmentShadingRateNV cmdSetFragmentShadingRateEnumNV :: forall io. MonadIO io => CommandBuffer -> FragmentShadingRateNV -> ("combinerOps" ::: (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)) -> io () -- | VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV - Structure -- indicating support for fragment shading rate enums -- --

Members

-- -- The members of the -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceFragmentShadingRateEnumsFeaturesNV -- structure is included in the pNext chain of -- PhysicalDeviceFeatures2, it is filled with values indicating -- whether each feature is supported. -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV can -- also be used in the pNext chain of DeviceCreateInfo to -- enable these features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Members

-- -- The members of the -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV structure -- describe the following implementation-dependent properties related to -- fragment shading rates: -- --

Description

-- -- If the PhysicalDeviceFragmentShadingRateEnumsPropertiesNV -- structure is included in the pNext chain of -- PhysicalDeviceProperties2, it is filled with the -- implementation-dependent limits. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- SampleCountFlagBits, StructureType data PhysicalDeviceFragmentShadingRateEnumsPropertiesNV PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: SampleCountFlagBits -> PhysicalDeviceFragmentShadingRateEnumsPropertiesNV -- | maxFragmentShadingRateInvocationCount indicates 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 that control 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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 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.PipelineFragmentShadingRateEnumStateCreateInfoNV 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 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 GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsPropertiesNV instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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 renderpass 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

-- -- -- --

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 -- --

Members

-- -- The members of the PhysicalDeviceDepthStencilResolveProperties -- structure describe the following implementation-dependent limits: -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- AttachmentReference2, ResolveModeFlagBits, -- StructureType data SubpassDescriptionDepthStencilResolve SubpassDescriptionDepthStencilResolve :: ResolveModeFlagBits -> ResolveModeFlagBits -> Maybe (SomeStruct AttachmentReference2) -> SubpassDescriptionDepthStencilResolve -- | depthResolveMode is a bitmask of ResolveModeFlagBits -- describing the depth resolve mode. [$sel:depthResolveMode:SubpassDescriptionDepthStencilResolve] :: SubpassDescriptionDepthStencilResolve -> ResolveModeFlagBits -- | stencilResolveMode is a bitmask of ResolveModeFlagBits -- describing the stencil resolve mode. [$sel:stencilResolveMode:SubpassDescriptionDepthStencilResolve] :: SubpassDescriptionDepthStencilResolve -> ResolveModeFlagBits -- | pDepthStencilResolveAttachment is an optional -- AttachmentReference 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkResolveModeFlagBits - Bitmask indicating supported depth and stencil -- resolve modes -- --

See Also

-- -- 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

-- -- -- -- -- --

Other Extension Metadata

-- -- -- -- -- --

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

-- -- -- --

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

-- -- The members of the PhysicalDeviceVulkan11Features structure -- describe the following features: -- --

Description

-- -- If the PhysicalDeviceVulkan11Features structure is included in -- the pNext chain of PhysicalDeviceFeatures2, it is -- filled with values indicating whether each feature is supported. -- PhysicalDeviceVulkan11Features can also be used in the -- pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 and in the StorageBuffer, -- ShaderRecordBufferKHR, or PhysicalStorageBuffer -- storage class with the same 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 shader draw parameters -- are supported. [$sel:shaderDrawParameters:PhysicalDeviceVulkan11Features] :: PhysicalDeviceVulkan11Features -> Bool -- | VkPhysicalDeviceVulkan11Properties - Structure specifying physical -- device properties for functionality promoted to Vulkan 1.1 -- --

Description

-- -- The members of PhysicalDeviceVulkan11Properties must -- have the same values as the corresponding members of -- PhysicalDeviceIDProperties, -- PhysicalDeviceSubgroupProperties, -- PhysicalDevicePointClippingProperties, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceProtectedMemoryProperties, and -- PhysicalDeviceMaintenance3Properties. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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 the behavior of the implementation -- when protected memory access rules are broken. If -- protectedNoFault is TRUE, breaking those rules will -- not result in process termination or device loss. [$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

-- -- The members of the PhysicalDeviceVulkan12Features structure -- describe the following features: -- --

Description

-- -- -- -- -- -- If the PhysicalDeviceVulkan12Features structure is included in -- the pNext chain of PhysicalDeviceFeatures2, it is -- filled with values indicating whether each feature is supported. -- PhysicalDeviceVulkan12Features can also be used in the -- pNext chain of DeviceCreateInfo to enable the -- features. -- --

Valid Usage (Implicit)

-- -- -- --

See Also

-- -- 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

-- -- 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

-- -- 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) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType -- | VkPhysicalDeviceDriverProperties - Structure containing driver -- identification information -- --

Description

-- -- driverID must be immutable for a given driver across -- instances, processes, driver versions, and system reboots. -- --

Valid Usage (Implicit)

-- --

See Also

-- -- 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

-- -- 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

-- -- 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 -- | VkStructureType - Vulkan structure types (sType) -- --

Description

-- -- Each value corresponds to a particular structure with a sType -- member with a matching name. As a general rule, the name of each -- StructureType value is obtained by taking the name of the -- structure, stripping the leading Vk, prefixing each capital -- letter with _, converting the entire resulting string to -- upper case, and prefixing it with VK_STRUCTURE_TYPE_. For -- example, structures of type ImageCreateInfo correspond to a -- StructureType of STRUCTURE_TYPE_IMAGE_CREATE_INFO, and -- thus its sType member must equal that when it is -- passed to the API. -- -- The values STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO and -- STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO are reserved for -- internal use by the loader, and do not have corresponding Vulkan -- structures in this Specification. -- --

See Also

-- -- AccelerationStructureBuildGeometryInfoKHR, -- AccelerationStructureBuildSizesInfoKHR, -- AccelerationStructureCreateInfoKHR, -- AccelerationStructureCreateInfoNV, -- AccelerationStructureDeviceAddressInfoKHR, -- AccelerationStructureGeometryAabbsDataKHR, -- AccelerationStructureGeometryInstancesDataKHR, -- AccelerationStructureGeometryKHR, -- AccelerationStructureGeometryTrianglesDataKHR, -- AccelerationStructureInfoNV, -- AccelerationStructureMemoryRequirementsInfoNV, -- AccelerationStructureVersionInfoKHR, -- AcquireNextImageInfoKHR, AcquireProfilingLockInfoKHR, -- AndroidHardwareBufferFormatPropertiesANDROID, -- AndroidHardwareBufferPropertiesANDROID, -- AndroidHardwareBufferUsageANDROID, -- AndroidSurfaceCreateInfoKHR, ApplicationInfo, -- AttachmentDescription2, -- AttachmentDescriptionStencilLayout, -- AttachmentReference2, AttachmentReferenceStencilLayout, -- BaseInStructure, BaseOutStructure, -- BindAccelerationStructureMemoryInfoNV, -- BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo, -- BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo, -- BindImageMemorySwapchainInfoKHR, -- BindImagePlaneMemoryInfo, BindSparseInfo, -- BlitImageInfo2KHR, BufferCopy2KHR, -- BufferCreateInfo, BufferDeviceAddressCreateInfoEXT, -- BufferDeviceAddressInfo, BufferImageCopy2KHR, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferOpaqueCaptureAddressCreateInfo, -- BufferViewCreateInfo, CalibratedTimestampInfoEXT, -- CheckpointDataNV, CommandBufferAllocateInfo, -- CommandBufferBeginInfo, -- CommandBufferInheritanceConditionalRenderingInfoEXT, -- CommandBufferInheritanceInfo, -- CommandBufferInheritanceRenderPassTransformInfoQCOM, -- CommandPoolCreateInfo, ComputePipelineCreateInfo, -- ConditionalRenderingBeginInfoEXT, -- CooperativeMatrixPropertiesNV, -- CopyAccelerationStructureInfoKHR, -- CopyAccelerationStructureToMemoryInfoKHR, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyCommandTransformInfoQCOM, CopyDescriptorSet, -- CopyImageInfo2KHR, CopyImageToBufferInfo2KHR, -- CopyMemoryToAccelerationStructureInfoKHR, -- D3D12FenceSubmitInfoKHR, DebugMarkerMarkerInfoEXT, -- DebugMarkerObjectNameInfoEXT, -- DebugMarkerObjectTagInfoEXT, -- DebugReportCallbackCreateInfoEXT, DebugUtilsLabelEXT, -- DebugUtilsMessengerCallbackDataEXT, -- DebugUtilsMessengerCreateInfoEXT, -- DebugUtilsObjectNameInfoEXT, DebugUtilsObjectTagInfoEXT, -- DedicatedAllocationBufferCreateInfoNV, -- DedicatedAllocationImageCreateInfoNV, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorPoolCreateInfo, -- DescriptorPoolInlineUniformBlockCreateInfoEXT, -- DescriptorSetAllocateInfo, -- DescriptorSetLayoutBindingFlagsCreateInfo, -- DescriptorSetLayoutCreateInfo, -- DescriptorSetLayoutSupport, -- DescriptorSetVariableDescriptorCountAllocateInfo, -- DescriptorSetVariableDescriptorCountLayoutSupport, -- DescriptorUpdateTemplateCreateInfo, DeviceCreateInfo, -- DeviceDeviceMemoryReportCreateInfoEXT, -- DeviceDiagnosticsConfigCreateInfoNV, DeviceEventInfoEXT, -- DeviceGroupBindSparseInfo, -- DeviceGroupCommandBufferBeginInfo, -- DeviceGroupDeviceCreateInfo, -- DeviceGroupPresentCapabilitiesKHR, -- DeviceGroupPresentInfoKHR, -- DeviceGroupRenderPassBeginInfo, DeviceGroupSubmitInfo, -- DeviceGroupSwapchainCreateInfoKHR, -- DeviceMemoryOpaqueCaptureAddressInfo, -- DeviceMemoryOverallocationCreateInfoAMD, -- DeviceMemoryReportCallbackDataEXT, -- DevicePrivateDataCreateInfoEXT, DeviceQueueCreateInfo, -- DeviceQueueGlobalPriorityCreateInfoEXT, -- DeviceQueueInfo2, DirectFBSurfaceCreateInfoEXT, -- DisplayEventInfoEXT, DisplayModeCreateInfoKHR, -- DisplayModeProperties2KHR, -- DisplayNativeHdrSurfaceCapabilitiesAMD, -- DisplayPlaneCapabilities2KHR, DisplayPlaneInfo2KHR, -- DisplayPlaneProperties2KHR, DisplayPowerInfoEXT, -- DisplayPresentInfoKHR, DisplayProperties2KHR, -- DisplaySurfaceCreateInfoKHR, -- DrmFormatModifierPropertiesListEXT, EventCreateInfo, -- ExportFenceCreateInfo, ExportFenceWin32HandleInfoKHR, -- ExportMemoryAllocateInfo, ExportMemoryAllocateInfoNV, -- ExportMemoryWin32HandleInfoKHR, -- ExportMemoryWin32HandleInfoNV, -- ExportSemaphoreCreateInfo, -- ExportSemaphoreWin32HandleInfoKHR, -- ExternalBufferProperties, ExternalFenceProperties, -- ExternalFormatANDROID, ExternalImageFormatProperties, -- ExternalMemoryBufferCreateInfo, -- ExternalMemoryImageCreateInfo, -- ExternalMemoryImageCreateInfoNV, -- ExternalSemaphoreProperties, FenceCreateInfo, -- FenceGetFdInfoKHR, FenceGetWin32HandleInfoKHR, -- FilterCubicImageViewImageFormatPropertiesEXT, -- FormatProperties2, FragmentShadingRateAttachmentInfoKHR, -- FramebufferAttachmentImageInfo, -- FramebufferAttachmentsCreateInfo, FramebufferCreateInfo, -- FramebufferMixedSamplesCombinationNV, -- GeneratedCommandsInfoNV, -- GeneratedCommandsMemoryRequirementsInfoNV, -- GeometryAABBNV, GeometryNV, GeometryTrianglesNV, -- GraphicsPipelineCreateInfo, -- GraphicsPipelineShaderGroupsCreateInfoNV, -- GraphicsShaderGroupCreateInfoNV, HdrMetadataEXT, -- HeadlessSurfaceCreateInfoEXT, IOSSurfaceCreateInfoMVK, -- ImageBlit2KHR, ImageCopy2KHR, ImageCreateInfo, -- ImageDrmFormatModifierExplicitCreateInfoEXT, -- ImageDrmFormatModifierListCreateInfoEXT, -- ImageDrmFormatModifierPropertiesEXT, -- ImageFormatListCreateInfo, ImageFormatProperties2, -- ImageMemoryBarrier, ImageMemoryRequirementsInfo2, -- ImagePipeSurfaceCreateInfoFUCHSIA, -- ImagePlaneMemoryRequirementsInfo, ImageResolve2KHR, -- ImageSparseMemoryRequirementsInfo2, -- ImageStencilUsageCreateInfo, -- ImageSwapchainCreateInfoKHR, ImageViewASTCDecodeModeEXT, -- ImageViewAddressPropertiesNVX, ImageViewCreateInfo, -- ImageViewHandleInfoNVX, ImageViewUsageCreateInfo, -- ImportAndroidHardwareBufferInfoANDROID, -- ImportFenceFdInfoKHR, ImportFenceWin32HandleInfoKHR, -- ImportMemoryFdInfoKHR, ImportMemoryHostPointerInfoEXT, -- ImportMemoryWin32HandleInfoKHR, -- ImportMemoryWin32HandleInfoNV, ImportSemaphoreFdInfoKHR, -- ImportSemaphoreWin32HandleInfoKHR, -- IndirectCommandsLayoutCreateInfoNV, -- IndirectCommandsLayoutTokenNV, -- InitializePerformanceApiInfoINTEL, InstanceCreateInfo, -- MacOSSurfaceCreateInfoMVK, MappedMemoryRange, -- MemoryAllocateFlagsInfo, MemoryAllocateInfo, -- MemoryBarrier, MemoryDedicatedAllocateInfo, -- MemoryDedicatedRequirements, MemoryFdPropertiesKHR, -- MemoryGetAndroidHardwareBufferInfoANDROID, -- MemoryGetFdInfoKHR, MemoryGetWin32HandleInfoKHR, -- MemoryHostPointerPropertiesEXT, -- MemoryOpaqueCaptureAddressAllocateInfo, -- MemoryPriorityAllocateInfoEXT, MemoryRequirements2, -- MemoryWin32HandlePropertiesKHR, -- MetalSurfaceCreateInfoEXT, MultisamplePropertiesEXT, -- MutableDescriptorTypeCreateInfoVALVE, -- PerformanceConfigurationAcquireInfoINTEL, -- PerformanceCounterDescriptionKHR, PerformanceCounterKHR, -- PerformanceMarkerInfoINTEL, -- PerformanceOverrideInfoINTEL, -- PerformanceQuerySubmitInfoKHR, -- PerformanceStreamMarkerInfoINTEL, -- PhysicalDevice16BitStorageFeatures, -- PhysicalDevice4444FormatsFeaturesEXT, -- PhysicalDevice8BitStorageFeatures, -- PhysicalDeviceASTCDecodeFeaturesEXT, -- PhysicalDeviceAccelerationStructureFeaturesKHR, -- PhysicalDeviceAccelerationStructurePropertiesKHR, -- PhysicalDeviceBlendOperationAdvancedFeaturesEXT, -- PhysicalDeviceBlendOperationAdvancedPropertiesEXT, -- PhysicalDeviceBufferDeviceAddressFeatures, -- PhysicalDeviceBufferDeviceAddressFeaturesEXT, -- PhysicalDeviceCoherentMemoryFeaturesAMD, -- PhysicalDeviceComputeShaderDerivativesFeaturesNV, -- PhysicalDeviceConditionalRenderingFeaturesEXT, -- PhysicalDeviceConservativeRasterizationPropertiesEXT, -- PhysicalDeviceCooperativeMatrixFeaturesNV, -- PhysicalDeviceCooperativeMatrixPropertiesNV, -- PhysicalDeviceCornerSampledImageFeaturesNV, -- PhysicalDeviceCoverageReductionModeFeaturesNV, -- PhysicalDeviceCustomBorderColorFeaturesEXT, -- PhysicalDeviceCustomBorderColorPropertiesEXT, -- PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, -- PhysicalDeviceDepthClipEnableFeaturesEXT, -- PhysicalDeviceDepthStencilResolveProperties, -- PhysicalDeviceDescriptorIndexingFeatures, -- PhysicalDeviceDescriptorIndexingProperties, -- PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, -- PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, -- PhysicalDeviceDeviceMemoryReportFeaturesEXT, -- PhysicalDeviceDiagnosticsConfigFeaturesNV, -- PhysicalDeviceDiscardRectanglePropertiesEXT, -- PhysicalDeviceDriverProperties, -- PhysicalDeviceExclusiveScissorFeaturesNV, -- PhysicalDeviceExtendedDynamicStateFeaturesEXT, -- PhysicalDeviceExternalBufferInfo, -- PhysicalDeviceExternalFenceInfo, -- PhysicalDeviceExternalImageFormatInfo, -- PhysicalDeviceExternalMemoryHostPropertiesEXT, -- PhysicalDeviceExternalSemaphoreInfo, -- PhysicalDeviceFeatures2, -- PhysicalDeviceFloatControlsProperties, -- PhysicalDeviceFragmentDensityMap2FeaturesEXT, -- PhysicalDeviceFragmentDensityMap2PropertiesEXT, -- PhysicalDeviceFragmentDensityMapFeaturesEXT, -- PhysicalDeviceFragmentDensityMapPropertiesEXT, -- PhysicalDeviceFragmentShaderBarycentricFeaturesNV, -- PhysicalDeviceFragmentShaderInterlockFeaturesEXT, -- PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, -- PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, -- PhysicalDeviceFragmentShadingRateFeaturesKHR, -- PhysicalDeviceFragmentShadingRateKHR, -- PhysicalDeviceFragmentShadingRatePropertiesKHR, -- PhysicalDeviceGroupProperties, -- PhysicalDeviceHostQueryResetFeatures, -- PhysicalDeviceIDProperties, -- PhysicalDeviceImageDrmFormatModifierInfoEXT, -- PhysicalDeviceImageFormatInfo2, -- PhysicalDeviceImageRobustnessFeaturesEXT, -- PhysicalDeviceImageViewImageFormatInfoEXT, -- PhysicalDeviceImagelessFramebufferFeatures, -- PhysicalDeviceIndexTypeUint8FeaturesEXT, -- PhysicalDeviceInlineUniformBlockFeaturesEXT, -- PhysicalDeviceInlineUniformBlockPropertiesEXT, -- PhysicalDeviceLineRasterizationFeaturesEXT, -- PhysicalDeviceLineRasterizationPropertiesEXT, -- PhysicalDeviceMaintenance3Properties, -- PhysicalDeviceMemoryBudgetPropertiesEXT, -- PhysicalDeviceMemoryPriorityFeaturesEXT, -- PhysicalDeviceMemoryProperties2, -- PhysicalDeviceMeshShaderFeaturesNV, -- PhysicalDeviceMeshShaderPropertiesNV, -- PhysicalDeviceMultiviewFeatures, -- PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, -- PhysicalDeviceMultiviewProperties, -- PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, -- PhysicalDevicePCIBusInfoPropertiesEXT, -- PhysicalDevicePerformanceQueryFeaturesKHR, -- PhysicalDevicePerformanceQueryPropertiesKHR, -- PhysicalDevicePipelineCreationCacheControlFeaturesEXT, -- PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, -- PhysicalDevicePointClippingProperties, -- PhysicalDevicePortabilitySubsetFeaturesKHR, -- PhysicalDevicePortabilitySubsetPropertiesKHR, -- PhysicalDevicePrivateDataFeaturesEXT, -- PhysicalDeviceProperties2, -- PhysicalDeviceProtectedMemoryFeatures, -- PhysicalDeviceProtectedMemoryProperties, -- PhysicalDevicePushDescriptorPropertiesKHR, -- PhysicalDeviceRayQueryFeaturesKHR, -- PhysicalDeviceRayTracingPipelineFeaturesKHR, -- PhysicalDeviceRayTracingPipelinePropertiesKHR, -- PhysicalDeviceRayTracingPropertiesNV, -- PhysicalDeviceRepresentativeFragmentTestFeaturesNV, -- PhysicalDeviceRobustness2FeaturesEXT, -- PhysicalDeviceRobustness2PropertiesEXT, -- PhysicalDeviceSampleLocationsPropertiesEXT, -- PhysicalDeviceSamplerFilterMinmaxProperties, -- PhysicalDeviceSamplerYcbcrConversionFeatures, -- PhysicalDeviceScalarBlockLayoutFeatures, -- PhysicalDeviceSeparateDepthStencilLayoutsFeatures, -- PhysicalDeviceShaderAtomicFloatFeaturesEXT, -- PhysicalDeviceShaderAtomicInt64Features, -- PhysicalDeviceShaderClockFeaturesKHR, -- PhysicalDeviceShaderCoreProperties2AMD, -- PhysicalDeviceShaderCorePropertiesAMD, -- PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, -- PhysicalDeviceShaderDrawParametersFeatures, -- PhysicalDeviceShaderFloat16Int8Features, -- PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, -- PhysicalDeviceShaderImageFootprintFeaturesNV, -- PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, -- PhysicalDeviceShaderSMBuiltinsFeaturesNV, -- PhysicalDeviceShaderSMBuiltinsPropertiesNV, -- PhysicalDeviceShaderSubgroupExtendedTypesFeatures, -- PhysicalDeviceShaderTerminateInvocationFeaturesKHR, -- PhysicalDeviceShadingRateImageFeaturesNV, -- PhysicalDeviceShadingRateImagePropertiesNV, -- PhysicalDeviceSparseImageFormatInfo2, -- PhysicalDeviceSubgroupProperties, -- PhysicalDeviceSubgroupSizeControlFeaturesEXT, -- PhysicalDeviceSubgroupSizeControlPropertiesEXT, -- PhysicalDeviceSurfaceInfo2KHR, -- PhysicalDeviceTexelBufferAlignmentFeaturesEXT, -- PhysicalDeviceTexelBufferAlignmentPropertiesEXT, -- PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, -- PhysicalDeviceTimelineSemaphoreFeatures, -- PhysicalDeviceTimelineSemaphoreProperties, -- PhysicalDeviceToolPropertiesEXT, -- PhysicalDeviceTransformFeedbackFeaturesEXT, -- PhysicalDeviceTransformFeedbackPropertiesEXT, -- PhysicalDeviceUniformBufferStandardLayoutFeatures, -- PhysicalDeviceVariablePointersFeatures, -- PhysicalDeviceVertexAttributeDivisorFeaturesEXT, -- PhysicalDeviceVertexAttributeDivisorPropertiesEXT, -- PhysicalDeviceVulkan11Features, -- PhysicalDeviceVulkan11Properties, -- PhysicalDeviceVulkan12Features, -- PhysicalDeviceVulkan12Properties, -- PhysicalDeviceVulkanMemoryModelFeatures, -- PhysicalDeviceYcbcrImageArraysFeaturesEXT, -- PipelineCacheCreateInfo, -- PipelineColorBlendAdvancedStateCreateInfoEXT, -- PipelineColorBlendStateCreateInfo, -- PipelineCompilerControlCreateInfoAMD, -- PipelineCoverageModulationStateCreateInfoNV, -- PipelineCoverageReductionStateCreateInfoNV, -- PipelineCoverageToColorStateCreateInfoNV, -- PipelineCreationFeedbackCreateInfoEXT, -- PipelineDepthStencilStateCreateInfo, -- PipelineDiscardRectangleStateCreateInfoEXT, -- PipelineDynamicStateCreateInfo, -- PipelineExecutableInfoKHR, -- PipelineExecutableInternalRepresentationKHR, -- PipelineExecutablePropertiesKHR, -- PipelineExecutableStatisticKHR, -- PipelineFragmentShadingRateEnumStateCreateInfoNV, -- PipelineFragmentShadingRateStateCreateInfoKHR, -- PipelineInfoKHR, PipelineInputAssemblyStateCreateInfo, -- PipelineLayoutCreateInfo, PipelineLibraryCreateInfoKHR, -- PipelineMultisampleStateCreateInfo, -- PipelineRasterizationConservativeStateCreateInfoEXT, -- PipelineRasterizationDepthClipStateCreateInfoEXT, -- PipelineRasterizationLineStateCreateInfoEXT, -- PipelineRasterizationStateCreateInfo, -- PipelineRasterizationStateRasterizationOrderAMD, -- PipelineRasterizationStateStreamCreateInfoEXT, -- PipelineRepresentativeFragmentTestStateCreateInfoNV, -- PipelineSampleLocationsStateCreateInfoEXT, -- PipelineShaderStageCreateInfo, -- PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, -- PipelineTessellationDomainOriginStateCreateInfo, -- PipelineTessellationStateCreateInfo, -- PipelineVertexInputDivisorStateCreateInfoEXT, -- PipelineVertexInputStateCreateInfo, -- PipelineViewportCoarseSampleOrderStateCreateInfoNV, -- PipelineViewportExclusiveScissorStateCreateInfoNV, -- PipelineViewportShadingRateImageStateCreateInfoNV, -- PipelineViewportStateCreateInfo, -- PipelineViewportSwizzleStateCreateInfoNV, -- PipelineViewportWScalingStateCreateInfoNV, -- PresentFrameTokenGGP, PresentInfoKHR, -- PresentRegionsKHR, PresentTimesInfoGOOGLE, -- PrivateDataSlotCreateInfoEXT, ProtectedSubmitInfo, -- QueryPoolCreateInfo, QueryPoolPerformanceCreateInfoKHR, -- QueryPoolPerformanceQueryCreateInfoINTEL, -- QueueFamilyCheckpointPropertiesNV, -- QueueFamilyProperties2, RayTracingPipelineCreateInfoKHR, -- RayTracingPipelineCreateInfoNV, -- RayTracingPipelineInterfaceCreateInfoKHR, -- RayTracingShaderGroupCreateInfoKHR, -- RayTracingShaderGroupCreateInfoNV, -- RenderPassAttachmentBeginInfo, RenderPassBeginInfo, -- RenderPassCreateInfo, RenderPassCreateInfo2, -- RenderPassFragmentDensityMapCreateInfoEXT, -- RenderPassInputAttachmentAspectCreateInfo, -- RenderPassMultiviewCreateInfo, -- RenderPassSampleLocationsBeginInfoEXT, -- RenderPassTransformBeginInfoQCOM, ResolveImageInfo2KHR, -- SampleLocationsInfoEXT, SamplerCreateInfo, -- SamplerCustomBorderColorCreateInfoEXT, -- SamplerReductionModeCreateInfo, -- SamplerYcbcrConversionCreateInfo, -- SamplerYcbcrConversionImageFormatProperties, -- SamplerYcbcrConversionInfo, SemaphoreCreateInfo, -- SemaphoreGetFdInfoKHR, SemaphoreGetWin32HandleInfoKHR, -- SemaphoreSignalInfo, SemaphoreTypeCreateInfo, -- SemaphoreWaitInfo, ShaderModuleCreateInfo, -- ShaderModuleValidationCacheCreateInfoEXT, -- SharedPresentSurfaceCapabilitiesKHR, -- SparseImageFormatProperties2, -- SparseImageMemoryRequirements2, -- StreamDescriptorSurfaceCreateInfoGGP, SubmitInfo, -- SubpassBeginInfo, SubpassDependency2, -- SubpassDescription2, -- SubpassDescriptionDepthStencilResolve, SubpassEndInfo, -- SurfaceCapabilities2EXT, SurfaceCapabilities2KHR, -- SurfaceCapabilitiesFullScreenExclusiveEXT, -- SurfaceFormat2KHR, SurfaceFullScreenExclusiveInfoEXT, -- SurfaceFullScreenExclusiveWin32InfoEXT, -- SurfaceProtectedCapabilitiesKHR, -- SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR, -- SwapchainDisplayNativeHdrCreateInfoAMD, -- TextureLODGatherFormatPropertiesAMD, -- TimelineSemaphoreSubmitInfo, -- ValidationCacheCreateInfoEXT, ValidationFeaturesEXT, -- ValidationFlagsEXT, ViSurfaceCreateInfoNN, -- WaylandSurfaceCreateInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoKHR, -- Win32KeyedMutexAcquireReleaseInfoNV, -- Win32SurfaceCreateInfoKHR, WriteDescriptorSet, -- WriteDescriptorSetAccelerationStructureKHR, -- WriteDescriptorSetAccelerationStructureNV, -- WriteDescriptorSetInlineUniformBlockEXT, -- XcbSurfaceCreateInfoKHR, XlibSurfaceCreateInfoKHR 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_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE :: StructureType pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_BLIT_2_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_BUFFER_COPY_2_KHR :: StructureType pattern STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_CHECKPOINT_DATA_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV :: StructureType pattern STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_AABB_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV :: StructureType pattern STRUCTURE_TYPE_GEOMETRY_NV :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID :: StructureType pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_HDR_METADATA_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: StructureType pattern STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN :: StructureType pattern STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: StructureType pattern STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV :: StructureType pattern STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP :: StructureType pattern STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD :: StructureType pattern STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT :: StructureType pattern STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_PRESENT_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR :: StructureType pattern STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO :: StructureType pattern STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO :: StructureType pattern STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES :: StructureType pattern STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_SUBPASS_END_INFO :: StructureType pattern STRUCTURE_TYPE_SUBPASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 :: StructureType pattern STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 :: StructureType pattern STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO :: StructureType pattern STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO :: StructureType pattern STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO :: StructureType pattern STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES :: StructureType pattern STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO :: StructureType pattern STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES :: StructureType pattern STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 :: StructureType pattern STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO :: StructureType pattern STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES :: StructureType pattern STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: StructureType pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES :: StructureType type MAX_DRIVER_INFO_SIZE = 256 type MAX_DRIVER_NAME_SIZE = 256 pattern MAX_DRIVER_INFO_SIZE :: forall a. Integral a => a pattern MAX_DRIVER_NAME_SIZE :: forall a. Integral a => a instance GHC.Classes.Eq Vulkan.Core12.PhysicalDeviceVulkan12Features instance GHC.Classes.Eq Vulkan.Core12.PhysicalDeviceVulkan11Features 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 create multiple -- command buffers. If the creation of any of those command buffers -- fails, the implementation must destroy all successfully created -- command buffer objects from this command, set all entries of the -- pCommandBuffers array to NULL and return the error. -- -- When command buffers are first allocated, they are in the initial -- state. -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- --

Host Synchronization

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- 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 info -- --

Valid Usage

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- 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. If the CommandBuffer will -- not be executed within a render pass instance, renderPass is -- ignored. [$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. If the -- CommandBuffer will not be executed within a render pass -- instance, subpass is ignored. [$sel:subpass:CommandBufferInheritanceInfo] :: CommandBufferInheritanceInfo (es :: [Type]) -> Word32 -- | framebuffer optionally refers 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, or if the -- CommandBuffer will not be executed within a render pass -- instance. -- -- 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

-- -- 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

-- -- SubmitInfo, allocateCommandBuffers, -- beginCommandBuffer, cmdBeginConditionalRenderingEXT, -- cmdBeginDebugUtilsLabelEXT, cmdBeginQuery, -- cmdBeginQueryIndexedEXT, cmdBeginRenderPass, -- cmdBeginRenderPass2, cmdBeginRenderPass2KHR, -- cmdBeginTransformFeedbackEXT, cmdBindDescriptorSets, -- cmdBindIndexBuffer, cmdBindPipeline, -- cmdBindPipelineShaderGroupNV, cmdBindShadingRateImageNV, -- cmdBindTransformFeedbackBuffersEXT, -- cmdBindVertexBuffers, cmdBindVertexBuffers2EXT, -- cmdBlitImage, cmdBlitImage2KHR, -- cmdBuildAccelerationStructureNV, -- cmdBuildAccelerationStructuresIndirectKHR, -- cmdBuildAccelerationStructuresKHR, cmdClearAttachments, -- cmdClearColorImage, cmdClearDepthStencilImage, -- cmdCopyAccelerationStructureKHR, -- cmdCopyAccelerationStructureNV, -- cmdCopyAccelerationStructureToMemoryKHR, cmdCopyBuffer, -- cmdCopyBuffer2KHR, cmdCopyBufferToImage, -- cmdCopyBufferToImage2KHR, cmdCopyImage, -- cmdCopyImage2KHR, cmdCopyImageToBuffer, -- cmdCopyImageToBuffer2KHR, -- cmdCopyMemoryToAccelerationStructureKHR, -- cmdCopyQueryPoolResults, cmdDebugMarkerBeginEXT, -- cmdDebugMarkerEndEXT, cmdDebugMarkerInsertEXT, -- cmdDispatch, cmdDispatchBase, cmdDispatchBaseKHR, -- cmdDispatchIndirect, cmdDraw, cmdDrawIndexed, -- cmdDrawIndexedIndirect, cmdDrawIndexedIndirectCount, -- cmdDrawIndexedIndirectCountAMD, -- cmdDrawIndexedIndirectCountKHR, cmdDrawIndirect, -- cmdDrawIndirectByteCountEXT, cmdDrawIndirectCount, -- cmdDrawIndirectCountAMD, cmdDrawIndirectCountKHR, -- cmdDrawMeshTasksIndirectCountNV, -- cmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksNV, -- cmdEndConditionalRenderingEXT, cmdEndDebugUtilsLabelEXT, -- cmdEndQuery, cmdEndQueryIndexedEXT, -- cmdEndRenderPass, cmdEndRenderPass2, -- cmdEndRenderPass2KHR, cmdEndTransformFeedbackEXT, -- cmdExecuteCommands, cmdExecuteGeneratedCommandsNV, -- cmdFillBuffer, cmdInsertDebugUtilsLabelEXT, -- cmdNextSubpass, cmdNextSubpass2, -- cmdNextSubpass2KHR, cmdPipelineBarrier, -- cmdPreprocessGeneratedCommandsNV, cmdPushConstants, -- cmdPushDescriptorSetKHR, -- cmdPushDescriptorSetWithTemplateKHR, cmdResetEvent, -- cmdResetQueryPool, cmdResolveImage, -- cmdResolveImage2KHR, cmdSetBlendConstants, -- cmdSetCheckpointNV, cmdSetCoarseSampleOrderNV, -- cmdSetCullModeEXT, cmdSetDepthBias, -- cmdSetDepthBounds, cmdSetDepthBoundsTestEnableEXT, -- cmdSetDepthCompareOpEXT, cmdSetDepthTestEnableEXT, -- cmdSetDepthWriteEnableEXT, cmdSetDeviceMask, -- cmdSetDeviceMaskKHR, cmdSetDiscardRectangleEXT, -- cmdSetEvent, cmdSetExclusiveScissorNV, -- cmdSetFragmentShadingRateEnumNV, -- cmdSetFragmentShadingRateKHR, cmdSetFrontFaceEXT, -- cmdSetLineStippleEXT, cmdSetLineWidth, -- cmdSetPerformanceMarkerINTEL, -- cmdSetPerformanceOverrideINTEL, -- cmdSetPerformanceStreamMarkerINTEL, -- cmdSetPrimitiveTopologyEXT, -- cmdSetRayTracingPipelineStackSizeKHR, -- cmdSetSampleLocationsEXT, cmdSetScissor, -- cmdSetScissorWithCountEXT, cmdSetStencilCompareMask, -- cmdSetStencilOpEXT, cmdSetStencilReference, -- cmdSetStencilTestEnableEXT, cmdSetStencilWriteMask, -- cmdSetViewport, cmdSetViewportShadingRatePaletteNV, -- cmdSetViewportWScalingNV, cmdSetViewportWithCountEXT, -- cmdTraceRaysIndirectKHR, cmdTraceRaysKHR, -- cmdTraceRaysNV, cmdUpdateBuffer, cmdWaitEvents, -- cmdWriteAccelerationStructuresPropertiesKHR, -- cmdWriteAccelerationStructuresPropertiesNV, -- cmdWriteBufferMarkerAMD, cmdWriteTimestamp, -- 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

-- -- 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

-- -- 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

-- -- 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

-- -- 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)

-- -- -- -- -- --

Return Codes

-- -- -- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

Host Synchronization

-- -- -- --

See Also

-- -- 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

-- -- -- -- -- --

Valid Usage (Implicit)

-- -- -- -- -- --

See Also

-- -- BufferCreateFlags, BufferUsageFlags, 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 list of queue families that will -- access this buffer (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

-- -- AccelerationStructureCreateInfoKHR, -- BindBufferMemoryInfo, BufferDeviceAddressInfo, -- BufferMemoryBarrier, BufferMemoryRequirementsInfo2, -- BufferViewCreateInfo, ConditionalRenderingBeginInfoEXT, -- CopyBufferInfo2KHR, CopyBufferToImageInfo2KHR, -- CopyImageToBufferInfo2KHR, -- DedicatedAllocationMemoryAllocateInfoNV, -- DescriptorBufferInfo, GeneratedCommandsInfoNV, -- GeometryAABBNV, GeometryTrianglesNV, -- IndirectCommandsStreamNV, MemoryDedicatedAllocateInfo, -- SparseBufferMemoryBindInfo, 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, -- 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

-- -- 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

-- -- 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

-- -- 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) 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