| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_copy_commands2
Synopsis
- cmdCopyBuffer2KHR :: forall io. MonadIO io => CommandBuffer -> CopyBufferInfo2KHR -> io ()
- cmdCopyImage2KHR :: forall io. MonadIO io => CommandBuffer -> CopyImageInfo2KHR -> io ()
- cmdBlitImage2KHR :: forall io. MonadIO io => CommandBuffer -> BlitImageInfo2KHR -> io ()
- cmdCopyBufferToImage2KHR :: forall io. MonadIO io => CommandBuffer -> CopyBufferToImageInfo2KHR -> io ()
- cmdCopyImageToBuffer2KHR :: forall io. MonadIO io => CommandBuffer -> CopyImageToBufferInfo2KHR -> io ()
- cmdResolveImage2KHR :: forall io. MonadIO io => CommandBuffer -> ResolveImageInfo2KHR -> io ()
- data BufferCopy2KHR = BufferCopy2KHR {}
- data ImageCopy2KHR = ImageCopy2KHR {}
- data ImageBlit2KHR = ImageBlit2KHR {}
- data BufferImageCopy2KHR = BufferImageCopy2KHR {}
- data ImageResolve2KHR = ImageResolve2KHR {}
- data CopyBufferInfo2KHR = CopyBufferInfo2KHR {}
- data CopyImageInfo2KHR = CopyImageInfo2KHR {}
- data BlitImageInfo2KHR = BlitImageInfo2KHR {}
- data CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2KHR {}
- data CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2KHR {}
- data ResolveImageInfo2KHR = ResolveImageInfo2KHR {}
- 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
Documentation
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> CopyBufferInfo2KHR |
|
| -> io () |
vkCmdCopyBuffer2KHR - Copy data between buffer regions
Description
This command is functionally identical to
cmdCopyBuffer, but includes
extensible sub-structures that include sType and pNext parameters,
allowing them to be more easily extended.
Valid Usage
- If
commandBufferis an unprotected command buffer, thensrcBuffermust not be a protected buffer
- If
commandBufferis an unprotected command buffer, thendstBuffermust not be a protected buffer - If
commandBufferis a protected command buffer, thendstBuffermust not be an unprotected buffer
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pCopyBufferInfomust be a valid pointer to a validCopyBufferInfo2KHRstructurecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Outside | Transfer Graphics Compute | Transfer |
See Also
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> CopyImageInfo2KHR |
|
| -> io () |
vkCmdCopyImage2KHR - Copy data between images
Description
This command is functionally identical to
cmdCopyImage, but includes
extensible sub-structures that include sType and pNext parameters,
allowing them to be more easily extended.
Valid Usage
- If
commandBufferis an unprotected command buffer, thensrcImagemust not be a protected image
- If
commandBufferis an unprotected command buffer, thendstImagemust not be a protected image - If
commandBufferis a protected command buffer, thendstImagemust not be an unprotected image
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pCopyImageInfomust be a valid pointer to a validCopyImageInfo2KHRstructurecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Outside | Transfer Graphics Compute | Transfer |
See Also
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> BlitImageInfo2KHR |
|
| -> io () |
vkCmdBlitImage2KHR - Copy regions of an image, potentially performing format conversion,
Description
This command is functionally identical to
cmdBlitImage, but includes
extensible sub-structures that include sType and pNext parameters,
allowing them to be more easily extended.
Valid Usage
- If
commandBufferis an unprotected command buffer, thensrcImagemust not be a protected image
- If
commandBufferis an unprotected command buffer, thendstImagemust not be a protected image - If
commandBufferis a protected command buffer, thendstImagemust not be an unprotected image
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pBlitImageInfomust be a valid pointer to a validBlitImageInfo2KHRstructurecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Outside | Graphics | Transfer |
See Also
cmdCopyBufferToImage2KHR Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> CopyBufferToImageInfo2KHR |
|
| -> io () |
vkCmdCopyBufferToImage2KHR - Copy data from a buffer into an image
Description
This command is functionally identical to
cmdCopyBufferToImage, but includes
extensible sub-structures that include sType and pNext parameters,
allowing them to be more easily extended.
Valid Usage
- If
commandBufferis an unprotected command buffer, thensrcBuffermust not be a protected buffer
- If
commandBufferis an unprotected command buffer, thendstImagemust not be a protected image - If
commandBufferis a protected command buffer, thendstImagemust not be an unprotected image
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pCopyBufferToImageInfomust be a valid pointer to a validCopyBufferToImageInfo2KHRstructurecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Outside | Transfer Graphics Compute | Transfer |
See Also
cmdCopyImageToBuffer2KHR Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> CopyImageToBufferInfo2KHR |
|
| -> io () |
vkCmdCopyImageToBuffer2KHR - Copy image data into a buffer
Description
This command is functionally identical to
cmdCopyImageToBuffer, but includes
extensible sub-structures that include sType and pNext parameters,
allowing them to be more easily extended.
Valid Usage
- If
commandBufferis an unprotected command buffer, thensrcImagemust not be a protected image
- If
commandBufferis an unprotected command buffer, thendstBuffermust not be a protected buffer - If
commandBufferis a protected command buffer, thendstBuffermust not be an unprotected buffer
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pCopyImageToBufferInfomust be a valid pointer to a validCopyImageToBufferInfo2KHRstructurecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Outside | Transfer Graphics Compute | Transfer |
See Also
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> ResolveImageInfo2KHR |
|
| -> io () |
vkCmdResolveImage2KHR - Resolve regions of an image
Description
This command is functionally identical to
cmdResolveImage, but includes
extensible sub-structures that include sType and pNext parameters,
allowing them to be more easily extended.
Valid Usage
- If
commandBufferis an unprotected command buffer, thensrcImagemust not be a protected image
- If
commandBufferis an unprotected command buffer, thendstImagemust not be a protected image - If
commandBufferis a protected command buffer, thendstImagemust not be an unprotected image
Valid Usage (Implicit)
commandBuffermust be a validCommandBufferhandle
pResolveImageInfomust be a valid pointer to a validResolveImageInfo2KHRstructurecommandBuffermust be in the recording state- The
CommandPoolthatcommandBufferwas allocated from must support graphics operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
|---|---|---|---|
| Primary Secondary | Outside | Graphics | Transfer |
See Also
data BufferCopy2KHR Source #
VkBufferCopy2KHR - Structure specifying a buffer copy operation
Valid Usage
- The
sizemust be greater than0
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_BUFFER_COPY_2_KHR
pNextmust beNULL
See Also
Constructors
| BufferCopy2KHR | |
Fields
| |
Instances
data ImageCopy2KHR Source #
VkImageCopy2KHR - Structure specifying an image copy operation
Valid Usage
- The number of slices of the
extent(for 3D) or layers of thesrcSubresource(for non-3D) must match the number of slices of theextent(for 3D) or layers of thedstSubresource(for non-3D)
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMAGE_COPY_2_KHR
pNextmust beNULLsrcSubresourcemust be a validImageSubresourceLayersstructuredstSubresourcemust be a validImageSubresourceLayersstructure
See Also
CopyImageInfo2KHR, Extent3D,
ImageSubresourceLayers,
Offset3D,
StructureType
Constructors
| ImageCopy2KHR | |
Fields
| |
Instances
| Show ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> ImageCopy2KHR -> ShowS # show :: ImageCopy2KHR -> String # showList :: [ImageCopy2KHR] -> ShowS # | |
| FromCStruct ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr ImageCopy2KHR -> IO ImageCopy2KHR Source # | |
| ToCStruct ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: ImageCopy2KHR -> (Ptr ImageCopy2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr ImageCopy2KHR -> ImageCopy2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr ImageCopy2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ImageCopy2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods zero :: ImageCopy2KHR Source # | |
data ImageBlit2KHR Source #
VkImageBlit2KHR - Structure specifying an image blit operation
Description
For each element of the pRegions array, a blit operation is performed
for the specified source and destination regions.
Valid Usage
- The
aspectMaskmember ofsrcSubresourceanddstSubresourcemust match
- The
layerCountmember ofsrcSubresourceanddstSubresourcemust match
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMAGE_BLIT_2_KHR
pNextmust beNULLsrcSubresourcemust be a validImageSubresourceLayersstructuredstSubresourcemust be a validImageSubresourceLayersstructure
See Also
BlitImageInfo2KHR,
ImageSubresourceLayers,
Offset3D,
StructureType
Constructors
| ImageBlit2KHR | |
Fields
| |
Instances
| Show ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> ImageBlit2KHR -> ShowS # show :: ImageBlit2KHR -> String # showList :: [ImageBlit2KHR] -> ShowS # | |
| FromCStruct ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr ImageBlit2KHR -> IO ImageBlit2KHR Source # | |
| ToCStruct ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: ImageBlit2KHR -> (Ptr ImageBlit2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr ImageBlit2KHR -> ImageBlit2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr ImageBlit2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ImageBlit2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods zero :: ImageBlit2KHR Source # | |
data BufferImageCopy2KHR Source #
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
bufferRowLengthmust be0, or greater than or equal to thewidthmember ofimageExtent
bufferImageHeightmust be0, or greater than or equal to theheightmember ofimageExtent- The
aspectMaskmember ofimageSubresourcemust only have a single bit set
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR
pNextmust beNULLimageSubresourcemust be a validImageSubresourceLayersstructure
See Also
CopyBufferToImageInfo2KHR, CopyImageToBufferInfo2KHR,
DeviceSize,
Extent3D,
ImageSubresourceLayers,
Offset3D,
StructureType
Constructors
| BufferImageCopy2KHR | |
Fields
| |
Instances
| Show BufferImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> BufferImageCopy2KHR -> ShowS # show :: BufferImageCopy2KHR -> String # showList :: [BufferImageCopy2KHR] -> ShowS # | |
| FromCStruct BufferImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr BufferImageCopy2KHR -> IO BufferImageCopy2KHR Source # | |
| ToCStruct BufferImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: BufferImageCopy2KHR -> (Ptr BufferImageCopy2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr BufferImageCopy2KHR -> BufferImageCopy2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr BufferImageCopy2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr BufferImageCopy2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero BufferImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods | |
data ImageResolve2KHR Source #
VkImageResolve2KHR - Structure specifying an image resolve operation
Valid Usage
- The
aspectMaskmember ofsrcSubresourceanddstSubresourcemust only containIMAGE_ASPECT_COLOR_BIT
- The
layerCountmember ofsrcSubresourceanddstSubresourcemust match
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR
pNextmust beNULLsrcSubresourcemust be a validImageSubresourceLayersstructuredstSubresourcemust be a validImageSubresourceLayersstructure
See Also
Extent3D,
ImageSubresourceLayers,
Offset3D, ResolveImageInfo2KHR,
StructureType
Constructors
| ImageResolve2KHR | |
Fields
| |
Instances
| Show ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> ImageResolve2KHR -> ShowS # show :: ImageResolve2KHR -> String # showList :: [ImageResolve2KHR] -> ShowS # | |
| FromCStruct ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr ImageResolve2KHR -> IO ImageResolve2KHR Source # | |
| ToCStruct ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: ImageResolve2KHR -> (Ptr ImageResolve2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr ImageResolve2KHR -> ImageResolve2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr ImageResolve2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ImageResolve2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods | |
data CopyBufferInfo2KHR Source #
VkCopyBufferInfo2KHR - Structure specifying parameters of a buffer copy command
Description
Members defined by this structure with the same name as parameters in
cmdCopyBuffer have the identical
effect to those parameters; the child structure BufferCopy2KHR is a
variant of BufferCopy which
includes sType and pNext parameters, allowing it to be extended.
Valid Usage
- The
srcOffsetmember of each element ofpRegionsmust be less than the size ofsrcBuffer
- The
dstOffsetmember of each element ofpRegionsmust be less than the size ofdstBuffer - The
sizemember of each element ofpRegionsmust be less than or equal to the size ofsrcBufferminussrcOffset - The
sizemember of each element ofpRegionsmust be less than or equal to the size ofdstBufferminusdstOffset - The union of the source regions, and the union of the destination
regions, specified by the elements of
pRegions, must not overlap in memory srcBuffermust have been created withBUFFER_USAGE_TRANSFER_SRC_BITusage flag- If
srcBufferis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject dstBuffermust have been created withBUFFER_USAGE_TRANSFER_DST_BITusage flag- If
dstBufferis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR
pNextmust beNULLsrcBuffermust be a validBufferhandledstBuffermust be a validBufferhandlepRegionsmust be a valid pointer to an array ofregionCountvalidBufferCopy2KHRstructuresregionCountmust be greater than0- Both of
dstBuffer, andsrcBuffermust have been created, allocated, or retrieved from the sameDevice
See Also
Constructors
| CopyBufferInfo2KHR | |
Fields
| |
Instances
| Show CopyBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> CopyBufferInfo2KHR -> ShowS # show :: CopyBufferInfo2KHR -> String # showList :: [CopyBufferInfo2KHR] -> ShowS # | |
| FromCStruct CopyBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr CopyBufferInfo2KHR -> IO CopyBufferInfo2KHR Source # | |
| ToCStruct CopyBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: CopyBufferInfo2KHR -> (Ptr CopyBufferInfo2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr CopyBufferInfo2KHR -> CopyBufferInfo2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr CopyBufferInfo2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr CopyBufferInfo2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero CopyBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods | |
data CopyImageInfo2KHR Source #
VkCopyImageInfo2KHR - Structure specifying parameters of an image copy command
Valid Usage
- The union of all source regions, and the union of all destination
regions, specified by the elements of
pRegions, must not overlap in memory
- The
format features
of
srcImagemust containFORMAT_FEATURE_TRANSFER_SRC_BIT srcImagemust have been created withIMAGE_USAGE_TRANSFER_SRC_BITusage flag- If
srcImageis non-sparse then the image or disjoint plane to be copied must be bound completely and contiguously to a singleDeviceMemoryobject srcImageLayoutmust specify the layout of the image subresources ofsrcImagespecified inpRegionsat the time this command is executed on aDevicesrcImageLayoutmust beIMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,IMAGE_LAYOUT_GENERAL, orIMAGE_LAYOUT_SHARED_PRESENT_KHR- The
format features
of
dstImagemust containFORMAT_FEATURE_TRANSFER_DST_BIT dstImagemust have been created withIMAGE_USAGE_TRANSFER_DST_BITusage flag- If
dstImageis non-sparse then the image or disjoint plane that is the destination of the copy must be bound completely and contiguously to a singleDeviceMemoryobject dstImageLayoutmust specify the layout of the image subresources ofdstImagespecified inpRegionsat the time this command is executed on aDevicedstImageLayoutmust beIMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,IMAGE_LAYOUT_GENERAL, orIMAGE_LAYOUT_SHARED_PRESENT_KHR- If the
Formatof each ofsrcImageanddstImageis not a multi-planar format, theFormatof each ofsrcImageanddstImagemust be compatible, as defined above - In a copy to or from a plane of a
multi-planar image,
the
Formatof the image and plane must be compatible according to the description of compatible planes for the plane being copied - The sample count of
srcImageanddstImagemust match - The
srcSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhensrcImagewas created - The
dstSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhendstImagewas created - The
srcSubresource.baseArrayLayer+srcSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhensrcImagewas created - The
dstSubresource.baseArrayLayer+dstSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhendstImagewas created - The
srcOffsetandextentmembers of each element ofpRegionsmust respect the image transfer granularity requirements ofcommandBuffer’s command pool’s queue family, as described inQueueFamilyProperties - The
dstOffsetandextentmembers of each element ofpRegionsmust respect the image transfer granularity requirements ofcommandBuffer’s command pool’s queue family, as described inQueueFamilyProperties dstImageandsrcImagemust not have been created withflagscontainingIMAGE_CREATE_SUBSAMPLED_BIT_EXT- If neither
srcImagenordstImagehas a multi-planar image format then for each element ofpRegions,srcSubresource.aspectMaskanddstSubresource.aspectMaskmust match - If
srcImagehas aFormatwith two planes then for each element ofpRegions,srcSubresource.aspectMaskmust beIMAGE_ASPECT_PLANE_0_BITorIMAGE_ASPECT_PLANE_1_BIT - If
srcImagehas aFormatwith three planes then for each element ofpRegions,srcSubresource.aspectMaskmust beIMAGE_ASPECT_PLANE_0_BIT,IMAGE_ASPECT_PLANE_1_BIT, orIMAGE_ASPECT_PLANE_2_BIT - If
dstImagehas aFormatwith two planes then for each element ofpRegions,dstSubresource.aspectMaskmust beIMAGE_ASPECT_PLANE_0_BITorIMAGE_ASPECT_PLANE_1_BIT - If
dstImagehas aFormatwith three planes then for each element ofpRegions,dstSubresource.aspectMaskmust beIMAGE_ASPECT_PLANE_0_BIT,IMAGE_ASPECT_PLANE_1_BIT, orIMAGE_ASPECT_PLANE_2_BIT - If
srcImagehas a multi-planar image format and thedstImagedoes not have a multi-planar image format, then for each element ofpRegions,dstSubresource.aspectMaskmust beIMAGE_ASPECT_COLOR_BIT - If
dstImagehas a multi-planar image format and thesrcImagedoes not have a multi-planar image format, then for each element ofpRegions,srcSubresource.aspectMaskmust beIMAGE_ASPECT_COLOR_BIT - If
srcImageis of typeIMAGE_TYPE_3D, then for each element ofpRegions,srcSubresource.baseArrayLayermust be0and andsrcSubresource.layerCountmust be1 - If
dstImageis of typeIMAGE_TYPE_3D, then for each element ofpRegions,dstSubresource.baseArrayLayermust be0and anddstSubresource.layerCountmust be1 - For each element of
pRegions,srcSubresource.aspectMaskmust specify aspects present insrcImage - For each element of
pRegions,dstSubresource.aspectMaskmust specify aspects present indstImage - For each element of
pRegions,srcOffset.xand (extent.width+srcOffset.x) must both be greater than or equal to0and less than or equal to the width of the specifiedsrcSubresourceofsrcImage - For each element of
pRegions,srcOffset.yand (extent.height+srcOffset.y) must both be greater than or equal to0and less than or equal to the height of the specifiedsrcSubresourceofsrcImage - If
srcImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,srcOffset.ymust be0andextent.heightmust be1 - For each element of
pRegions,srcOffset.zand (extent.depth+srcOffset.z) must both be greater than or equal to0and less than or equal to the depth of the specifiedsrcSubresourceofsrcImage - If
srcImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,srcOffset.zmust be0andextent.depthmust be1 - If
dstImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,dstOffset.zmust be0andextent.depthmust be1 - If
srcImageis of typeIMAGE_TYPE_2D, then for each element ofpRegions,srcOffset.zmust be0 - If
dstImageis of typeIMAGE_TYPE_2D, then for each element ofpRegions,dstOffset.zmust be0 - If
srcImageanddstImageare both of typeIMAGE_TYPE_2D, then for each element ofpRegions,extent.depthmust be1 - If
srcImageis of typeIMAGE_TYPE_2D, anddstImageis of typeIMAGE_TYPE_3D, then for each element ofpRegions,extent.depthmust equalsrcSubresource.layerCount - If
dstImageis of typeIMAGE_TYPE_2D, andsrcImageis of typeIMAGE_TYPE_3D, then for each element ofpRegions,extent.depthmust equaldstSubresource.layerCount - For each element of
pRegions,dstOffset.xand (extent.width+dstOffset.x) must both be greater than or equal to0and less than or equal to the width of the specifieddstSubresourceofdstImage - For each element of
pRegions,dstOffset.yand (extent.height+dstOffset.y) must both be greater than or equal to0and less than or equal to the height of the specifieddstSubresourceofdstImage - If
dstImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,dstOffset.ymust be0andextent.heightmust be1 - For each element of
pRegions,dstOffset.zand (extent.depth+dstOffset.z) must both be greater than or equal to0and less than or equal to the depth of the specifieddstSubresourceofdstImage - If
srcImageis a blocked image, then for each element ofpRegions, all members ofsrcOffsetmust be a multiple of the corresponding dimensions of the compressed texel block - If
srcImageis a blocked image, then for each element ofpRegions,extent.widthmust be a multiple of the compressed texel block width or (extent.width+srcOffset.x) must equal the width of the specifiedsrcSubresourceofsrcImage - If
srcImageis a blocked image, then for each element ofpRegions,extent.heightmust be a multiple of the compressed texel block height or (extent.height+srcOffset.y) must equal the height of the specifiedsrcSubresourceofsrcImage - If
srcImageis a blocked image, then for each element ofpRegions,extent.depthmust be a multiple of the compressed texel block depth or (extent.depth+srcOffset.z) must equal the depth of the specifiedsrcSubresourceofsrcImage - If
dstImageis a blocked image, then for each element ofpRegions, all members ofdstOffsetmust be a multiple of the corresponding dimensions of the compressed texel block - If
dstImageis a blocked image, then for each element ofpRegions,extent.widthmust be a multiple of the compressed texel block width or (extent.width+dstOffset.x) must equal the width of the specifieddstSubresourceofdstImage - If
dstImageis a blocked image, then for each element ofpRegions,extent.heightmust be a multiple of the compressed texel block height or (extent.height+dstOffset.y) must equal the height of the specifieddstSubresourceofdstImage - If
dstImageis a blocked image, then for each element ofpRegions,extent.depthmust be a multiple of the compressed texel block depth or (extent.depth+dstOffset.z) must equal the depth of the specifieddstSubresourceofdstImage
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR
pNextmust beNULLsrcImagemust be a validImagehandlesrcImageLayoutmust be a validImageLayoutvaluedstImagemust be a validImagehandledstImageLayoutmust be a validImageLayoutvaluepRegionsmust be a valid pointer to an array ofregionCountvalidImageCopy2KHRstructuresregionCountmust be greater than0- Both of
dstImage, andsrcImagemust have been created, allocated, or retrieved from the sameDevice
See Also
Image, ImageCopy2KHR,
ImageLayout,
StructureType, cmdCopyImage2KHR
Constructors
| CopyImageInfo2KHR | |
Fields
| |
Instances
| Show CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> CopyImageInfo2KHR -> ShowS # show :: CopyImageInfo2KHR -> String # showList :: [CopyImageInfo2KHR] -> ShowS # | |
| FromCStruct CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr CopyImageInfo2KHR -> IO CopyImageInfo2KHR Source # | |
| ToCStruct CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: CopyImageInfo2KHR -> (Ptr CopyImageInfo2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr CopyImageInfo2KHR -> CopyImageInfo2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr CopyImageInfo2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr CopyImageInfo2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods | |
data BlitImageInfo2KHR Source #
VkBlitImageInfo2KHR - Structure specifying parameters of blit image command
Valid Usage
- [[VUID-{refpage}-pRegions-00215]] The source region specified by
each element of
pRegionsmust be a region that is contained withinsrcImage
- [[VUID-{refpage}-pRegions-00216]] The destination region specified
by each element of
pRegionsmust be a region that is contained withindstImage - [[VUID-{refpage}-pRegions-00217]] The union of all destination
regions, specified by the elements of
pRegions, must not overlap in memory with any texel that may be sampled during the blit operation - [[VUID-{refpage}-srcImage-01999]] The
format features
of
srcImagemust containFORMAT_FEATURE_BLIT_SRC_BIT - [[VUID-{refpage}-srcImage-01561]]
srcImagemust not use a format listed in ??? - [[VUID-{refpage}-srcImage-00219]]
srcImagemust have been created withIMAGE_USAGE_TRANSFER_SRC_BITusage flag - [[VUID-{refpage}-srcImage-00220]] If
srcImageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject - [[VUID-{refpage}-srcImageLayout-00221]]
srcImageLayoutmust specify the layout of the image subresources ofsrcImagespecified inpRegionsat the time this command is executed on aDevice - [[VUID-{refpage}-srcImageLayout-01398]]
srcImageLayoutmust beIMAGE_LAYOUT_SHARED_PRESENT_KHR,IMAGE_LAYOUT_TRANSFER_SRC_OPTIMALorIMAGE_LAYOUT_GENERAL - [[VUID-{refpage}-dstImage-02000]] The
format features
of
dstImagemust containFORMAT_FEATURE_BLIT_DST_BIT - [[VUID-{refpage}-dstImage-01562]]
dstImagemust not use a format listed in ??? - [[VUID-{refpage}-dstImage-00224]]
dstImagemust have been created withIMAGE_USAGE_TRANSFER_DST_BITusage flag - [[VUID-{refpage}-dstImage-00225]] If
dstImageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject - [[VUID-{refpage}-dstImageLayout-00226]]
dstImageLayoutmust specify the layout of the image subresources ofdstImagespecified inpRegionsat the time this command is executed on aDevice - [[VUID-{refpage}-dstImageLayout-01399]]
dstImageLayoutmust beIMAGE_LAYOUT_SHARED_PRESENT_KHR,IMAGE_LAYOUT_TRANSFER_DST_OPTIMALorIMAGE_LAYOUT_GENERAL - [[VUID-{refpage}-srcImage-00229]] If either of
srcImageordstImagewas created with a signed integerFormat, the other must also have been created with a signed integerFormat - [[VUID-{refpage}-srcImage-00230]] If either of
srcImageordstImagewas created with an unsigned integerFormat, the other must also have been created with an unsigned integerFormat - [[VUID-{refpage}-srcImage-00231]] If either of
srcImageordstImagewas created with a depth/stencil format, the other must have exactly the same format - [[VUID-{refpage}-srcImage-00232]] If
srcImagewas created with a depth/stencil format,filtermust beFILTER_NEAREST - [[VUID-{refpage}-srcImage-00233]]
srcImagemust have been created with asamplesvalue ofSAMPLE_COUNT_1_BIT - [[VUID-{refpage}-dstImage-00234]]
dstImagemust have been created with asamplesvalue ofSAMPLE_COUNT_1_BIT - [[VUID-{refpage}-filter-02001]] If
filterisFILTER_LINEAR, then the format features ofsrcImagemust containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT - [[VUID-{refpage}-filter-02002]] If
filterisFILTER_CUBIC_EXT, then the format features ofsrcImagemust containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT - [[VUID-{refpage}-filter-00237]] If
filterisFILTER_CUBIC_EXT,srcImagemust be of typeIMAGE_TYPE_2D - [[VUID-{refpage}-srcSubresource-01705]] The
srcSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhensrcImagewas created - [[VUID-{refpage}-dstSubresource-01706]] The
dstSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhendstImagewas created - [[VUID-{refpage}-srcSubresource-01707]] The
srcSubresource.baseArrayLayer+srcSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhensrcImagewas created - [[VUID-{refpage}-dstSubresource-01708]] The
dstSubresource.baseArrayLayer+dstSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhendstImagewas created - [[VUID-{refpage}-dstImage-02545]]
dstImageandsrcImagemust not have been created withflagscontainingIMAGE_CREATE_SUBSAMPLED_BIT_EXT - [[VUID-{refpage}-srcImage-00240]] If either
srcImageordstImageis of typeIMAGE_TYPE_3D, then for each element ofpRegions,srcSubresource.baseArrayLayeranddstSubresource.baseArrayLayermust each be0, andsrcSubresource.layerCountanddstSubresource.layerCountmust each be1. - [[VUID-{refpage}-aspectMask-00241]] For each element of
pRegions,srcSubresource.aspectMaskmust specify aspects present insrcImage - [[VUID-{refpage}-aspectMask-00242]] For each element of
pRegions,dstSubresource.aspectMaskmust specify aspects present indstImage - [[VUID-{refpage}-srcOffset-00243]] For each element of
pRegions,srcOffset[0].x andsrcOffset[1].x must both be greater than or equal to0and less than or equal to the width of the specifiedsrcSubresourceofsrcImage - [[VUID-{refpage}-srcOffset-00244]] For each element of
pRegions,srcOffset[0].y andsrcOffset[1].y must both be greater than or equal to0and less than or equal to the height of the specifiedsrcSubresourceofsrcImage - [[VUID-{refpage}-srcImage-00245]] If
srcImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,srcOffset[0].y must be0andsrcOffset[1].y must be1 - [[VUID-{refpage}-srcOffset-00246]] For each element of
pRegions,srcOffset[0].z andsrcOffset[1].z must both be greater than or equal to0and less than or equal to the depth of the specifiedsrcSubresourceofsrcImage - [[VUID-{refpage}-srcImage-00247]] If
srcImageis of typeIMAGE_TYPE_1DorIMAGE_TYPE_2D, then for each element ofpRegions,srcOffset[0].z must be0andsrcOffset[1].z must be1 - [[VUID-{refpage}-dstOffset-00248]] For each element of
pRegions,dstOffset[0].x anddstOffset[1].x must both be greater than or equal to0and less than or equal to the width of the specifieddstSubresourceofdstImage - [[VUID-{refpage}-dstOffset-00249]] For each element of
pRegions,dstOffset[0].y anddstOffset[1].y must both be greater than or equal to0and less than or equal to the height of the specifieddstSubresourceofdstImage - [[VUID-{refpage}-dstImage-00250]] If
dstImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,dstOffset[0].y must be0anddstOffset[1].y must be1 - [[VUID-{refpage}-dstOffset-00251]] For each element of
pRegions,dstOffset[0].z anddstOffset[1].z must both be greater than or equal to0and less than or equal to the depth of the specifieddstSubresourceofdstImage - [[VUID-{refpage}-dstImage-00252]] If
dstImageis of typeIMAGE_TYPE_1DorIMAGE_TYPE_2D, then for each element ofpRegions,dstOffset[0].z must be0anddstOffset[1].z must be1
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR
pNextmust beNULLsrcImagemust be a validImagehandlesrcImageLayoutmust be a validImageLayoutvaluedstImagemust be a validImagehandledstImageLayoutmust be a validImageLayoutvaluepRegionsmust be a valid pointer to an array ofregionCountvalidImageBlit2KHRstructuresfiltermust be a validFiltervalueregionCountmust be greater than0- Both of
dstImage, andsrcImagemust have been created, allocated, or retrieved from the sameDevice
See Also
Filter, Image,
ImageBlit2KHR, ImageLayout,
StructureType, cmdBlitImage2KHR
Constructors
| BlitImageInfo2KHR | |
Fields
| |
Instances
| Show BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> BlitImageInfo2KHR -> ShowS # show :: BlitImageInfo2KHR -> String # showList :: [BlitImageInfo2KHR] -> ShowS # | |
| FromCStruct BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr BlitImageInfo2KHR -> IO BlitImageInfo2KHR Source # | |
| ToCStruct BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: BlitImageInfo2KHR -> (Ptr BlitImageInfo2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr BlitImageInfo2KHR -> BlitImageInfo2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr BlitImageInfo2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr BlitImageInfo2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods | |
data CopyBufferToImageInfo2KHR Source #
VkCopyBufferToImageInfo2KHR - Structure specifying parameters of a buffer to image copy command
Valid Usage
srcBuffermust be large enough to contain all buffer locations that are accessed according to Buffer and Image Addressing, for each element ofpRegions
- The image region specified by each element of
pRegionsmust be a region that is contained withindstImageif thedstImage’sFormatis not a multi-planar format, and must be a region that is contained within the plane being copied to if thedstImage’sFormatis a multi-planar format - The union of all source regions, and the union of all destination
regions, specified by the elements of
pRegions, must not overlap in memory srcBuffermust have been created withBUFFER_USAGE_TRANSFER_SRC_BITusage flag- The
format features
of
dstImagemust containFORMAT_FEATURE_TRANSFER_DST_BIT - If
srcBufferis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject dstImagemust have been created withIMAGE_USAGE_TRANSFER_DST_BITusage flag- If
dstImageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject dstImagemust have a sample count equal toSAMPLE_COUNT_1_BITdstImageLayoutmust specify the layout of the image subresources ofdstImagespecified inpRegionsat the time this command is executed on aDevicedstImageLayoutmust beIMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,IMAGE_LAYOUT_GENERAL, orIMAGE_LAYOUT_SHARED_PRESENT_KHR- The
imageSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhendstImagewas created - The
imageSubresource.baseArrayLayer+imageSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhendstImagewas created - The
imageOffsetandimageExtentmembers of each element ofpRegionsmust respect the image transfer granularity requirements ofcommandBuffer’s command pool’s queue family, as described inQueueFamilyProperties dstImagemust not have been created withflagscontainingIMAGE_CREATE_SUBSAMPLED_BIT_EXT- If the queue family used to create the
CommandPoolwhichcommandBufferwas allocated from does not supportQUEUE_GRAPHICS_BITorQUEUE_COMPUTE_BIT, thebufferOffsetmember of any element ofpRegionsmust be a multiple of4 - If
dstImagehas a depth/stencil format, thebufferOffsetmember of any element ofpRegionsmust be a multiple of4 - If
dstImagedoes not have either a depth/stencil or a multi-planar format, then for each element ofpRegions,bufferOffsetmust be a multiple of the format’s texel block size - If
dstImagehas a multi-planar format, then for each element ofpRegions,bufferOffsetmust be a multiple of the element size of the compatible format for the format and theaspectMaskof theimageSubresourceas defined in ??? - For each element of
pRegions,imageOffset.xand (imageExtent.width+imageOffset.x) must both be greater than or equal to0and less than or equal to the width of the specifiedimageSubresourceofdstImagewhere this refers to the width of the plane of the image involved in the copy in the case of a multi-planar format - For each element of
pRegions,imageOffset.yand (imageExtent.height +imageOffset.y) must both be greater than or equal to0and less than or equal to the height of the specifiedimageSubresourceofdstImagewhere this refers to the height of the plane of the image involved in the copy in the case of a multi-planar format - If
dstImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,imageOffset.ymust be0andimageExtent.heightmust be1 - For each element of
pRegions,imageOffset.zand (imageExtent.depth +imageOffset.z) must both be greater than or equal to0and less than or equal to the depth of the specifiedimageSubresourceofdstImage - If
dstImageis of typeIMAGE_TYPE_1DorIMAGE_TYPE_2D, then for each element ofpRegions,imageOffset.zmust be0andimageExtent.depthmust be1 - If
dstImageis a blocked image, for each element ofpRegions,bufferRowLengthmust be a multiple of the compressed texel block width - If
dstImageis a blocked image, for each element ofpRegions,bufferImageHeightmust be a multiple of the compressed texel block height - If
dstImageis a blocked image, for each element ofpRegions, all members ofimageOffsetmust be a multiple of the corresponding dimensions of the compressed texel block - If
dstImageis a blocked image, for each element ofpRegions,bufferOffsetmust be a multiple of the compressed texel block size in bytes - If
dstImageis a blocked image, for each element ofpRegions,imageExtent.widthmust be a multiple of the compressed texel block width or (imageExtent.width+imageOffset.x) must equal the width of the specifiedimageSubresourceofdstImage - If
dstImageis a blocked image, for each element ofpRegions,imageExtent.heightmust be a multiple of the compressed texel block height or (imageExtent.height+imageOffset.y) must equal the height of the specifiedimageSubresourceofdstImage - If
dstImageis a blocked image, for each element ofpRegions,imageExtent.depthmust be a multiple of the compressed texel block depth or (imageExtent.depth+imageOffset.z) must equal the depth of the specifiedimageSubresourceofdstImage - For each element of
pRegions,imageSubresource.aspectMaskmust specify aspects present indstImage - If
dstImagehas a multi-planar format, then for each element ofpRegions,imageSubresource.aspectMaskmust beIMAGE_ASPECT_PLANE_0_BIT,IMAGE_ASPECT_PLANE_1_BIT, orIMAGE_ASPECT_PLANE_2_BIT(withIMAGE_ASPECT_PLANE_2_BITvalid only for image formats with three planes) - If
dstImageis of typeIMAGE_TYPE_3D, for each element ofpRegions,imageSubresource.baseArrayLayermust be0andimageSubresource.layerCountmust be1
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR
pNextmust beNULLsrcBuffermust be a validBufferhandledstImagemust be a validImagehandledstImageLayoutmust be a validImageLayoutvaluepRegionsmust be a valid pointer to an array ofregionCountvalidBufferImageCopy2KHRstructuresregionCountmust be greater than0- Both of
dstImage, andsrcBuffermust have been created, allocated, or retrieved from the sameDevice
See Also
Buffer, BufferImageCopy2KHR,
Image,
ImageLayout,
StructureType,
cmdCopyBufferToImage2KHR
Constructors
| CopyBufferToImageInfo2KHR | |
Fields
| |
Instances
data CopyImageToBufferInfo2KHR Source #
VkCopyImageToBufferInfo2KHR - Structure specifying parameters of a image to buffer copy command
Valid Usage
dstBuffermust be large enough to contain all buffer locations that are accessed according to Buffer and Image Addressing, for each element ofpRegions
- The image region specified by each element of
pRegionsmust be a region that is contained withinsrcImageif thesrcImage’sFormatis not a multi-planar format, and must be a region that is contained within the plane being copied if thesrcImage’sFormatis a multi-planar format - The union of all source regions, and the union of all destination
regions, specified by the elements of
pRegions, must not overlap in memory srcImagemust have been created withIMAGE_USAGE_TRANSFER_SRC_BITusage flag- The
format features
of
srcImagemust containFORMAT_FEATURE_TRANSFER_SRC_BIT - If
srcImageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject dstBuffermust have been created withBUFFER_USAGE_TRANSFER_DST_BITusage flag- If
dstBufferis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject srcImagemust have a sample count equal toSAMPLE_COUNT_1_BITsrcImageLayoutmust specify the layout of the image subresources ofsrcImagespecified inpRegionsat the time this command is executed on aDevicesrcImageLayoutmust beIMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,IMAGE_LAYOUT_GENERAL, orIMAGE_LAYOUT_SHARED_PRESENT_KHR- The
imageSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhensrcImagewas created - The
imageSubresource.baseArrayLayer+imageSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhensrcImagewas created - The
imageOffsetandimageExtentmembers of each element ofpRegionsmust respect the image transfer granularity requirements ofcommandBuffer’s command pool’s queue family, as described inQueueFamilyProperties srcImagemust not have been created withflagscontainingIMAGE_CREATE_SUBSAMPLED_BIT_EXT- If the queue family used to create the
CommandPoolwhichcommandBufferwas allocated from does not supportQUEUE_GRAPHICS_BITorQUEUE_COMPUTE_BIT, thebufferOffsetmember of any element ofpRegionsmust be a multiple of4 - If
srcImagehas a depth/stencil format, thebufferOffsetmember of any element ofpRegionsmust be a multiple of4 - If {imageparam} does not have either a depth/stencil or a
multi-planar format,
then for each element of
pRegions,bufferOffsetmust be a multiple of the format’s texel block size - If {imageparam} has a
multi-planar format,
then for each element of
pRegions,bufferOffsetmust be a multiple of the element size of the compatible format for the format and theaspectMaskof theimageSubresourceas defined in ??? - For each element of
pRegions,imageOffset.xand (imageExtent.width+imageOffset.x) must both be greater than or equal to0and less than or equal to the width of the specifiedimageSubresourceof {imageparam} where this refers to the width of the plane of the image involved in the copy in the case of a multi-planar format - For each element of
pRegions,imageOffset.yand (imageExtent.height +imageOffset.y) must both be greater than or equal to0and less than or equal to the height of the specifiedimageSubresourceof {imageparam} where this refers to the height of the plane of the image involved in the copy in the case of a multi-planar format - If {imageparam} is of type
IMAGE_TYPE_1D, then for each element ofpRegions,imageOffset.ymust be0andimageExtent.heightmust be1 - For each element of
pRegions,imageOffset.zand (imageExtent.depth +imageOffset.z) must both be greater than or equal to0and less than or equal to the depth of the specifiedimageSubresourceof {imageparam} - If {imageparam} is of type
IMAGE_TYPE_1DorIMAGE_TYPE_2D, then for each element ofpRegions,imageOffset.zmust be0andimageExtent.depthmust be1 - If {imageparam} is a
blocked image,
for each element of
pRegions,bufferRowLengthmust be a multiple of the compressed texel block width - If {imageparam} is a
blocked image,
for each element of
pRegions,bufferImageHeightmust be a multiple of the compressed texel block height - If {imageparam} is a
blocked image,
for each element of
pRegions, all members ofimageOffsetmust be a multiple of the corresponding dimensions of the compressed texel block - If {imageparam} is a
blocked image,
for each element of
pRegions,bufferOffsetmust be a multiple of the compressed texel block size in bytes - If {imageparam} is a
blocked image,
for each element of
pRegions,imageExtent.widthmust be a multiple of the compressed texel block width or (imageExtent.width+imageOffset.x) must equal the width of the specifiedimageSubresourceof {imageparam} - If {imageparam} is a
blocked image,
for each element of
pRegions,imageExtent.heightmust be a multiple of the compressed texel block height or (imageExtent.height+imageOffset.y) must equal the height of the specifiedimageSubresourceof {imageparam} - If {imageparam} is a
blocked image,
for each element of
pRegions,imageExtent.depthmust be a multiple of the compressed texel block depth or (imageExtent.depth+imageOffset.z) must equal the depth of the specifiedimageSubresourceof {imageparam} - For each element of
pRegions,imageSubresource.aspectMaskmust specify aspects present in {imageparam} - If {imageparam} has a
multi-planar format,
then for each element of
pRegions,imageSubresource.aspectMaskmust beIMAGE_ASPECT_PLANE_0_BIT,IMAGE_ASPECT_PLANE_1_BIT, orIMAGE_ASPECT_PLANE_2_BIT(withIMAGE_ASPECT_PLANE_2_BITvalid only for image formats with three planes) - If {imageparam} is of type
IMAGE_TYPE_3D, for each element ofpRegions,imageSubresource.baseArrayLayermust be0andimageSubresource.layerCountmust be1
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR
pNextmust beNULLsrcImagemust be a validImagehandlesrcImageLayoutmust be a validImageLayoutvaluedstBuffermust be a validBufferhandlepRegionsmust be a valid pointer to an array ofregionCountvalidBufferImageCopy2KHRstructuresregionCountmust be greater than0- Both of
dstBuffer, andsrcImagemust have been created, allocated, or retrieved from the sameDevice
See Also
Buffer, BufferImageCopy2KHR,
Image,
ImageLayout,
StructureType,
cmdCopyImageToBuffer2KHR
Constructors
| CopyImageToBufferInfo2KHR | |
Fields
| |
Instances
data ResolveImageInfo2KHR Source #
VkResolveImageInfo2KHR - Structure specifying parameters of resolve image command
Valid Usage
- The union of all source regions, and the union of all destination
regions, specified by the elements of
pRegions, must not overlap in memory
- If
srcImageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject srcImagemust have a sample count equal to any valid sample count value other thanSAMPLE_COUNT_1_BIT- If
dstImageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject dstImagemust have a sample count equal toSAMPLE_COUNT_1_BITsrcImageLayoutmust specify the layout of the image subresources ofsrcImagespecified inpRegionsat the time this command is executed on aDevicesrcImageLayoutmust beIMAGE_LAYOUT_SHARED_PRESENT_KHR,IMAGE_LAYOUT_TRANSFER_SRC_OPTIMALorIMAGE_LAYOUT_GENERALdstImageLayoutmust specify the layout of the image subresources ofdstImagespecified inpRegionsat the time this command is executed on aDevicedstImageLayoutmust beIMAGE_LAYOUT_SHARED_PRESENT_KHR,IMAGE_LAYOUT_TRANSFER_DST_OPTIMALorIMAGE_LAYOUT_GENERAL- The
format features
of
dstImagemust containFORMAT_FEATURE_COLOR_ATTACHMENT_BIT srcImageanddstImagemust have been created with the same image format- The
srcSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhensrcImagewas created - The
dstSubresource.mipLevelmember of each element ofpRegionsmust be less than themipLevelsspecified inImageCreateInfowhendstImagewas created - The
srcSubresource.baseArrayLayer+srcSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhensrcImagewas created - The
dstSubresource.baseArrayLayer+dstSubresource.layerCountof each element ofpRegionsmust be less than or equal to thearrayLayersspecified inImageCreateInfowhendstImagewas created dstImageandsrcImagemust not have been created withflagscontainingIMAGE_CREATE_SUBSAMPLED_BIT_EXT- If either
srcImageordstImageare of typeIMAGE_TYPE_3D, then for each element ofpRegions,srcSubresource.baseArrayLayermust be0andsrcSubresource.layerCountmust be1 - If either
srcImageordstImageare of typeIMAGE_TYPE_3D, then for each element ofpRegions,dstSubresource.baseArrayLayermust be0anddstSubresource.layerCountmust be1 - For each element of
pRegions,srcOffset.xand (extent.width+srcOffset.x) must both be greater than or equal to0and less than or equal to the width of the specifiedsrcSubresourceofsrcImage - For each element of
pRegions,srcOffset.yand (extent.height+srcOffset.y) must both be greater than or equal to0and less than or equal to the height of the specifiedsrcSubresourceofsrcImage - If
srcImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,srcOffset.ymust be0andextent.heightmust be1 - For each element of
pRegions,srcOffset.zand (extent.depth+srcOffset.z) must both be greater than or equal to0and less than or equal to the depth of the specifiedsrcSubresourceofsrcImage - If
srcImageis of typeIMAGE_TYPE_1DorIMAGE_TYPE_2D, then for each element ofpRegions,srcOffset.zmust be0andextent.depthmust be1 - For each element of
pRegions,dstOffset.xand (extent.width+dstOffset.x) must both be greater than or equal to0and less than or equal to the width of the specifieddstSubresourceofdstImage - For each element of
pRegions,dstOffset.yand (extent.height+dstOffset.y) must both be greater than or equal to0and less than or equal to the height of the specifieddstSubresourceofdstImage - If
dstImageis of typeIMAGE_TYPE_1D, then for each element ofpRegions,dstOffset.ymust be0andextent.heightmust be1 - For each element of
pRegions,dstOffset.zand (extent.depth+dstOffset.z) must both be greater than or equal to0and less than or equal to the depth of the specifieddstSubresourceofdstImage - If
dstImageis of typeIMAGE_TYPE_1DorIMAGE_TYPE_2D, then for each element ofpRegions,dstOffset.zmust be0andextent.depthmust be1
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR
pNextmust beNULLsrcImagemust be a validImagehandlesrcImageLayoutmust be a validImageLayoutvaluedstImagemust be a validImagehandledstImageLayoutmust be a validImageLayoutvaluepRegionsmust be a valid pointer to an array ofregionCountvalidImageResolve2KHRstructuresregionCountmust be greater than0- Both of
dstImage, andsrcImagemust have been created, allocated, or retrieved from the sameDevice
See Also
Image,
ImageLayout, ImageResolve2KHR,
StructureType, cmdResolveImage2KHR
Constructors
| ResolveImageInfo2KHR | |
Fields
| |
Instances
| Show ResolveImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods showsPrec :: Int -> ResolveImageInfo2KHR -> ShowS # show :: ResolveImageInfo2KHR -> String # showList :: [ResolveImageInfo2KHR] -> ShowS # | |
| FromCStruct ResolveImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods peekCStruct :: Ptr ResolveImageInfo2KHR -> IO ResolveImageInfo2KHR Source # | |
| ToCStruct ResolveImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods withCStruct :: ResolveImageInfo2KHR -> (Ptr ResolveImageInfo2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr ResolveImageInfo2KHR -> ResolveImageInfo2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr ResolveImageInfo2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr ResolveImageInfo2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero ResolveImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 Methods | |
type KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 Source #
pattern KHR_COPY_COMMANDS_2_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" Source #
pattern KHR_COPY_COMMANDS_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #