Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
:: 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
commandBuffer
is an unprotected command buffer, thensrcBuffer
must not be a protected buffer
- If
commandBuffer
is an unprotected command buffer, thendstBuffer
must not be a protected buffer - If
commandBuffer
is a protected command buffer, thendstBuffer
must not be an unprotected buffer
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pCopyBufferInfo
must be a valid pointer to a validCopyBufferInfo2KHR
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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
:: 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
commandBuffer
is an unprotected command buffer, thensrcImage
must not be a protected image
- If
commandBuffer
is an unprotected command buffer, thendstImage
must not be a protected image - If
commandBuffer
is a protected command buffer, thendstImage
must not be an unprotected image
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pCopyImageInfo
must be a valid pointer to a validCopyImageInfo2KHR
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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
:: 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
commandBuffer
is an unprotected command buffer, thensrcImage
must not be a protected image
- If
commandBuffer
is an unprotected command buffer, thendstImage
must not be a protected image - If
commandBuffer
is a protected command buffer, thendstImage
must not be an unprotected image
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pBlitImageInfo
must be a valid pointer to a validBlitImageInfo2KHR
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 #
:: 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
commandBuffer
is an unprotected command buffer, thensrcBuffer
must not be a protected buffer
- If
commandBuffer
is an unprotected command buffer, thendstImage
must not be a protected image - If
commandBuffer
is a protected command buffer, thendstImage
must not be an unprotected image
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pCopyBufferToImageInfo
must be a valid pointer to a validCopyBufferToImageInfo2KHR
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 #
:: 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
commandBuffer
is an unprotected command buffer, thensrcImage
must not be a protected image
- If
commandBuffer
is an unprotected command buffer, thendstBuffer
must not be a protected buffer - If
commandBuffer
is a protected command buffer, thendstBuffer
must not be an unprotected buffer
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pCopyImageToBufferInfo
must be a valid pointer to a validCopyImageToBufferInfo2KHR
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support transfer, graphics, or compute operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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
:: 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
commandBuffer
is an unprotected command buffer, thensrcImage
must not be a protected image
- If
commandBuffer
is an unprotected command buffer, thendstImage
must not be a protected image - If
commandBuffer
is a protected command buffer, thendstImage
must not be an unprotected image
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pResolveImageInfo
must be a valid pointer to a validResolveImageInfo2KHR
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a render pass instance
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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
size
must be greater than0
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_BUFFER_COPY_2_KHR
pNext
must beNULL
See Also
BufferCopy2KHR | |
|
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)
sType
must beSTRUCTURE_TYPE_IMAGE_COPY_2_KHR
pNext
must beNULL
srcSubresource
must be a validImageSubresourceLayers
structuredstSubresource
must be a validImageSubresourceLayers
structure
See Also
CopyImageInfo2KHR
, Extent3D
,
ImageSubresourceLayers
,
Offset3D
,
StructureType
ImageCopy2KHR | |
|
Instances
Show ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> ImageCopy2KHR -> ShowS # show :: ImageCopy2KHR -> String # showList :: [ImageCopy2KHR] -> ShowS # | |
FromCStruct ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 | |
ToCStruct ImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 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
aspectMask
member ofsrcSubresource
anddstSubresource
must match
- The
layerCount
member ofsrcSubresource
anddstSubresource
must match
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_IMAGE_BLIT_2_KHR
pNext
must beNULL
srcSubresource
must be a validImageSubresourceLayers
structuredstSubresource
must be a validImageSubresourceLayers
structure
See Also
BlitImageInfo2KHR
,
ImageSubresourceLayers
,
Offset3D
,
StructureType
ImageBlit2KHR | |
|
Instances
Show ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> ImageBlit2KHR -> ShowS # show :: ImageBlit2KHR -> String # showList :: [ImageBlit2KHR] -> ShowS # | |
FromCStruct ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 | |
ToCStruct ImageBlit2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 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
bufferRowLength
must be0
, or greater than or equal to thewidth
member ofimageExtent
bufferImageHeight
must be0
, or greater than or equal to theheight
member ofimageExtent
- The
aspectMask
member ofimageSubresource
must only have a single bit set
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR
pNext
must beNULL
imageSubresource
must be a validImageSubresourceLayers
structure
See Also
CopyBufferToImageInfo2KHR
, CopyImageToBufferInfo2KHR
,
DeviceSize
,
Extent3D
,
ImageSubresourceLayers
,
Offset3D
,
StructureType
BufferImageCopy2KHR | |
|
Instances
Show BufferImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> BufferImageCopy2KHR -> ShowS # show :: BufferImageCopy2KHR -> String # showList :: [BufferImageCopy2KHR] -> ShowS # | |
FromCStruct BufferImageCopy2KHR Source # | |
ToCStruct BufferImageCopy2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 |
data ImageResolve2KHR Source #
VkImageResolve2KHR - Structure specifying an image resolve operation
Valid Usage
- The
aspectMask
member ofsrcSubresource
anddstSubresource
must only containIMAGE_ASPECT_COLOR_BIT
- The
layerCount
member ofsrcSubresource
anddstSubresource
must match
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR
pNext
must beNULL
srcSubresource
must be a validImageSubresourceLayers
structuredstSubresource
must be a validImageSubresourceLayers
structure
See Also
Extent3D
,
ImageSubresourceLayers
,
Offset3D
, ResolveImageInfo2KHR
,
StructureType
ImageResolve2KHR | |
|
Instances
Show ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> ImageResolve2KHR -> ShowS # show :: ImageResolve2KHR -> String # showList :: [ImageResolve2KHR] -> ShowS # | |
FromCStruct ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 | |
ToCStruct ImageResolve2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 |
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
srcOffset
member of each element ofpRegions
must be less than the size ofsrcBuffer
- The
dstOffset
member of each element ofpRegions
must be less than the size ofdstBuffer
- The
size
member of each element ofpRegions
must be less than or equal to the size ofsrcBuffer
minussrcOffset
- The
size
member of each element ofpRegions
must be less than or equal to the size ofdstBuffer
minusdstOffset
- The union of the source regions, and the union of the destination
regions, specified by the elements of
pRegions
, must not overlap in memory srcBuffer
must have been created withBUFFER_USAGE_TRANSFER_SRC_BIT
usage flag- If
srcBuffer
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object dstBuffer
must have been created withBUFFER_USAGE_TRANSFER_DST_BIT
usage flag- If
dstBuffer
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR
pNext
must beNULL
srcBuffer
must be a validBuffer
handledstBuffer
must be a validBuffer
handlepRegions
must be a valid pointer to an array ofregionCount
validBufferCopy2KHR
structuresregionCount
must be greater than0
- Both of
dstBuffer
, andsrcBuffer
must have been created, allocated, or retrieved from the sameDevice
See Also
CopyBufferInfo2KHR | |
|
Instances
Show CopyBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> CopyBufferInfo2KHR -> ShowS # show :: CopyBufferInfo2KHR -> String # showList :: [CopyBufferInfo2KHR] -> ShowS # | |
FromCStruct CopyBufferInfo2KHR Source # | |
ToCStruct CopyBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 |
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
srcImage
must containFORMAT_FEATURE_TRANSFER_SRC_BIT
srcImage
must have been created withIMAGE_USAGE_TRANSFER_SRC_BIT
usage flag- If
srcImage
is non-sparse then the image or disjoint plane to be copied must be bound completely and contiguously to a singleDeviceMemory
object srcImageLayout
must specify the layout of the image subresources ofsrcImage
specified inpRegions
at the time this command is executed on aDevice
srcImageLayout
must beIMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
,IMAGE_LAYOUT_GENERAL
, orIMAGE_LAYOUT_SHARED_PRESENT_KHR
- The
format features
of
dstImage
must containFORMAT_FEATURE_TRANSFER_DST_BIT
dstImage
must have been created withIMAGE_USAGE_TRANSFER_DST_BIT
usage flag- If
dstImage
is non-sparse then the image or disjoint plane that is the destination of the copy must be bound completely and contiguously to a singleDeviceMemory
object dstImageLayout
must specify the layout of the image subresources ofdstImage
specified inpRegions
at the time this command is executed on aDevice
dstImageLayout
must beIMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
,IMAGE_LAYOUT_GENERAL
, orIMAGE_LAYOUT_SHARED_PRESENT_KHR
- If the
Format
of each ofsrcImage
anddstImage
is not a multi-planar format, theFormat
of each ofsrcImage
anddstImage
must be compatible, as defined above - In a copy to or from a plane of a
multi-planar image,
the
Format
of the image and plane must be compatible according to the description of compatible planes for the plane being copied - The sample count of
srcImage
anddstImage
must match - The
srcSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whensrcImage
was created - The
dstSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whendstImage
was created - The
srcSubresource.baseArrayLayer
+srcSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whensrcImage
was created - The
dstSubresource.baseArrayLayer
+dstSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whendstImage
was created - The
srcOffset
andextent
members of each element ofpRegions
must respect the image transfer granularity requirements ofcommandBuffer
’s command pool’s queue family, as described inQueueFamilyProperties
- The
dstOffset
andextent
members of each element ofpRegions
must respect the image transfer granularity requirements ofcommandBuffer
’s command pool’s queue family, as described inQueueFamilyProperties
dstImage
andsrcImage
must not have been created withflags
containingIMAGE_CREATE_SUBSAMPLED_BIT_EXT
- If neither
srcImage
nordstImage
has a multi-planar image format then for each element ofpRegions
,srcSubresource.aspectMask
anddstSubresource.aspectMask
must match - If
srcImage
has aFormat
with two planes then for each element ofpRegions
,srcSubresource.aspectMask
must beIMAGE_ASPECT_PLANE_0_BIT
orIMAGE_ASPECT_PLANE_1_BIT
- If
srcImage
has aFormat
with three planes then for each element ofpRegions
,srcSubresource.aspectMask
must beIMAGE_ASPECT_PLANE_0_BIT
,IMAGE_ASPECT_PLANE_1_BIT
, orIMAGE_ASPECT_PLANE_2_BIT
- If
dstImage
has aFormat
with two planes then for each element ofpRegions
,dstSubresource.aspectMask
must beIMAGE_ASPECT_PLANE_0_BIT
orIMAGE_ASPECT_PLANE_1_BIT
- If
dstImage
has aFormat
with three planes then for each element ofpRegions
,dstSubresource.aspectMask
must beIMAGE_ASPECT_PLANE_0_BIT
,IMAGE_ASPECT_PLANE_1_BIT
, orIMAGE_ASPECT_PLANE_2_BIT
- If
srcImage
has a multi-planar image format and thedstImage
does not have a multi-planar image format, then for each element ofpRegions
,dstSubresource.aspectMask
must beIMAGE_ASPECT_COLOR_BIT
- If
dstImage
has a multi-planar image format and thesrcImage
does not have a multi-planar image format, then for each element ofpRegions
,srcSubresource.aspectMask
must beIMAGE_ASPECT_COLOR_BIT
- If
srcImage
is of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,srcSubresource.baseArrayLayer
must be0
and andsrcSubresource.layerCount
must be1
- If
dstImage
is of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,dstSubresource.baseArrayLayer
must be0
and anddstSubresource.layerCount
must be1
- For each element of
pRegions
,srcSubresource.aspectMask
must specify aspects present insrcImage
- For each element of
pRegions
,dstSubresource.aspectMask
must specify aspects present indstImage
- For each element of
pRegions
,srcOffset.x
and (extent.width
+srcOffset.x
) must both be greater than or equal to0
and less than or equal to the width of the specifiedsrcSubresource
ofsrcImage
- For each element of
pRegions
,srcOffset.y
and (extent.height
+srcOffset.y
) must both be greater than or equal to0
and less than or equal to the height of the specifiedsrcSubresource
ofsrcImage
- If
srcImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,srcOffset.y
must be0
andextent.height
must be1
- For each element of
pRegions
,srcOffset.z
and (extent.depth
+srcOffset.z
) must both be greater than or equal to0
and less than or equal to the depth of the specifiedsrcSubresource
ofsrcImage
- If
srcImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,srcOffset.z
must be0
andextent.depth
must be1
- If
dstImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,dstOffset.z
must be0
andextent.depth
must be1
- If
srcImage
is of typeIMAGE_TYPE_2D
, then for each element ofpRegions
,srcOffset.z
must be0
- If
dstImage
is of typeIMAGE_TYPE_2D
, then for each element ofpRegions
,dstOffset.z
must be0
- If
srcImage
anddstImage
are both of typeIMAGE_TYPE_2D
, then for each element ofpRegions
,extent.depth
must be1
- If
srcImage
is of typeIMAGE_TYPE_2D
, anddstImage
is of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,extent.depth
must equalsrcSubresource.layerCount
- If
dstImage
is of typeIMAGE_TYPE_2D
, andsrcImage
is of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,extent.depth
must equaldstSubresource.layerCount
- For each element of
pRegions
,dstOffset.x
and (extent.width
+dstOffset.x
) must both be greater than or equal to0
and less than or equal to the width of the specifieddstSubresource
ofdstImage
- For each element of
pRegions
,dstOffset.y
and (extent.height
+dstOffset.y
) must both be greater than or equal to0
and less than or equal to the height of the specifieddstSubresource
ofdstImage
- If
dstImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,dstOffset.y
must be0
andextent.height
must be1
- For each element of
pRegions
,dstOffset.z
and (extent.depth
+dstOffset.z
) must both be greater than or equal to0
and less than or equal to the depth of the specifieddstSubresource
ofdstImage
- If
srcImage
is a blocked image, then for each element ofpRegions
, all members ofsrcOffset
must be a multiple of the corresponding dimensions of the compressed texel block - If
srcImage
is a blocked image, then for each element ofpRegions
,extent.width
must be a multiple of the compressed texel block width or (extent.width
+srcOffset.x
) must equal the width of the specifiedsrcSubresource
ofsrcImage
- If
srcImage
is a blocked image, then for each element ofpRegions
,extent.height
must be a multiple of the compressed texel block height or (extent.height
+srcOffset.y
) must equal the height of the specifiedsrcSubresource
ofsrcImage
- If
srcImage
is a blocked image, then for each element ofpRegions
,extent.depth
must be a multiple of the compressed texel block depth or (extent.depth
+srcOffset.z
) must equal the depth of the specifiedsrcSubresource
ofsrcImage
- If
dstImage
is a blocked image, then for each element ofpRegions
, all members ofdstOffset
must be a multiple of the corresponding dimensions of the compressed texel block - If
dstImage
is a blocked image, then for each element ofpRegions
,extent.width
must be a multiple of the compressed texel block width or (extent.width
+dstOffset.x
) must equal the width of the specifieddstSubresource
ofdstImage
- If
dstImage
is a blocked image, then for each element ofpRegions
,extent.height
must be a multiple of the compressed texel block height or (extent.height
+dstOffset.y
) must equal the height of the specifieddstSubresource
ofdstImage
- If
dstImage
is a blocked image, then for each element ofpRegions
,extent.depth
must be a multiple of the compressed texel block depth or (extent.depth
+dstOffset.z
) must equal the depth of the specifieddstSubresource
ofdstImage
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR
pNext
must beNULL
srcImage
must be a validImage
handlesrcImageLayout
must be a validImageLayout
valuedstImage
must be a validImage
handledstImageLayout
must be a validImageLayout
valuepRegions
must be a valid pointer to an array ofregionCount
validImageCopy2KHR
structuresregionCount
must be greater than0
- Both of
dstImage
, andsrcImage
must have been created, allocated, or retrieved from the sameDevice
See Also
Image
, ImageCopy2KHR
,
ImageLayout
,
StructureType
, cmdCopyImage2KHR
CopyImageInfo2KHR | |
|
Instances
Show CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> CopyImageInfo2KHR -> ShowS # show :: CopyImageInfo2KHR -> String # showList :: [CopyImageInfo2KHR] -> ShowS # | |
FromCStruct CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 | |
ToCStruct CopyImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 |
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
pRegions
must be a region that is contained withinsrcImage
- [[VUID-{refpage}-pRegions-00216]] The destination region specified
by each element of
pRegions
must 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
srcImage
must containFORMAT_FEATURE_BLIT_SRC_BIT
- [[VUID-{refpage}-srcImage-01561]]
srcImage
must not use a format listed in ??? - [[VUID-{refpage}-srcImage-00219]]
srcImage
must have been created withIMAGE_USAGE_TRANSFER_SRC_BIT
usage flag - [[VUID-{refpage}-srcImage-00220]] If
srcImage
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object - [[VUID-{refpage}-srcImageLayout-00221]]
srcImageLayout
must specify the layout of the image subresources ofsrcImage
specified inpRegions
at the time this command is executed on aDevice
- [[VUID-{refpage}-srcImageLayout-01398]]
srcImageLayout
must beIMAGE_LAYOUT_SHARED_PRESENT_KHR
,IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
orIMAGE_LAYOUT_GENERAL
- [[VUID-{refpage}-dstImage-02000]] The
format features
of
dstImage
must containFORMAT_FEATURE_BLIT_DST_BIT
- [[VUID-{refpage}-dstImage-01562]]
dstImage
must not use a format listed in ??? - [[VUID-{refpage}-dstImage-00224]]
dstImage
must have been created withIMAGE_USAGE_TRANSFER_DST_BIT
usage flag - [[VUID-{refpage}-dstImage-00225]] If
dstImage
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object - [[VUID-{refpage}-dstImageLayout-00226]]
dstImageLayout
must specify the layout of the image subresources ofdstImage
specified inpRegions
at the time this command is executed on aDevice
- [[VUID-{refpage}-dstImageLayout-01399]]
dstImageLayout
must beIMAGE_LAYOUT_SHARED_PRESENT_KHR
,IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
orIMAGE_LAYOUT_GENERAL
- [[VUID-{refpage}-srcImage-00229]] If either of
srcImage
ordstImage
was created with a signed integerFormat
, the other must also have been created with a signed integerFormat
- [[VUID-{refpage}-srcImage-00230]] If either of
srcImage
ordstImage
was created with an unsigned integerFormat
, the other must also have been created with an unsigned integerFormat
- [[VUID-{refpage}-srcImage-00231]] If either of
srcImage
ordstImage
was created with a depth/stencil format, the other must have exactly the same format - [[VUID-{refpage}-srcImage-00232]] If
srcImage
was created with a depth/stencil format,filter
must beFILTER_NEAREST
- [[VUID-{refpage}-srcImage-00233]]
srcImage
must have been created with asamples
value ofSAMPLE_COUNT_1_BIT
- [[VUID-{refpage}-dstImage-00234]]
dstImage
must have been created with asamples
value ofSAMPLE_COUNT_1_BIT
- [[VUID-{refpage}-filter-02001]] If
filter
isFILTER_LINEAR
, then the format features ofsrcImage
must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
- [[VUID-{refpage}-filter-02002]] If
filter
isFILTER_CUBIC_EXT
, then the format features ofsrcImage
must containFORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
- [[VUID-{refpage}-filter-00237]] If
filter
isFILTER_CUBIC_EXT
,srcImage
must be of typeIMAGE_TYPE_2D
- [[VUID-{refpage}-srcSubresource-01705]] The
srcSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whensrcImage
was created - [[VUID-{refpage}-dstSubresource-01706]] The
dstSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whendstImage
was created - [[VUID-{refpage}-srcSubresource-01707]] The
srcSubresource.baseArrayLayer
+srcSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whensrcImage
was created - [[VUID-{refpage}-dstSubresource-01708]] The
dstSubresource.baseArrayLayer
+dstSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whendstImage
was created - [[VUID-{refpage}-dstImage-02545]]
dstImage
andsrcImage
must not have been created withflags
containingIMAGE_CREATE_SUBSAMPLED_BIT_EXT
- [[VUID-{refpage}-srcImage-00240]] If either
srcImage
ordstImage
is of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,srcSubresource.baseArrayLayer
anddstSubresource.baseArrayLayer
must each be0
, andsrcSubresource.layerCount
anddstSubresource.layerCount
must each be1
. - [[VUID-{refpage}-aspectMask-00241]] For each element of
pRegions
,srcSubresource.aspectMask
must specify aspects present insrcImage
- [[VUID-{refpage}-aspectMask-00242]] For each element of
pRegions
,dstSubresource.aspectMask
must 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 to0
and less than or equal to the width of the specifiedsrcSubresource
ofsrcImage
- [[VUID-{refpage}-srcOffset-00244]] For each element of
pRegions
,srcOffset
[0].y andsrcOffset
[1].y must both be greater than or equal to0
and less than or equal to the height of the specifiedsrcSubresource
ofsrcImage
- [[VUID-{refpage}-srcImage-00245]] If
srcImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,srcOffset
[0].y must be0
andsrcOffset
[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 to0
and less than or equal to the depth of the specifiedsrcSubresource
ofsrcImage
- [[VUID-{refpage}-srcImage-00247]] If
srcImage
is of typeIMAGE_TYPE_1D
orIMAGE_TYPE_2D
, then for each element ofpRegions
,srcOffset
[0].z must be0
andsrcOffset
[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 to0
and less than or equal to the width of the specifieddstSubresource
ofdstImage
- [[VUID-{refpage}-dstOffset-00249]] For each element of
pRegions
,dstOffset
[0].y anddstOffset
[1].y must both be greater than or equal to0
and less than or equal to the height of the specifieddstSubresource
ofdstImage
- [[VUID-{refpage}-dstImage-00250]] If
dstImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,dstOffset
[0].y must be0
anddstOffset
[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 to0
and less than or equal to the depth of the specifieddstSubresource
ofdstImage
- [[VUID-{refpage}-dstImage-00252]] If
dstImage
is of typeIMAGE_TYPE_1D
orIMAGE_TYPE_2D
, then for each element ofpRegions
,dstOffset
[0].z must be0
anddstOffset
[1].z must be1
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR
pNext
must beNULL
srcImage
must be a validImage
handlesrcImageLayout
must be a validImageLayout
valuedstImage
must be a validImage
handledstImageLayout
must be a validImageLayout
valuepRegions
must be a valid pointer to an array ofregionCount
validImageBlit2KHR
structuresfilter
must be a validFilter
valueregionCount
must be greater than0
- Both of
dstImage
, andsrcImage
must have been created, allocated, or retrieved from the sameDevice
See Also
Filter
, Image
,
ImageBlit2KHR
, ImageLayout
,
StructureType
, cmdBlitImage2KHR
BlitImageInfo2KHR | |
|
Instances
Show BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> BlitImageInfo2KHR -> ShowS # show :: BlitImageInfo2KHR -> String # showList :: [BlitImageInfo2KHR] -> ShowS # | |
FromCStruct BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 | |
ToCStruct BlitImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 |
data CopyBufferToImageInfo2KHR Source #
VkCopyBufferToImageInfo2KHR - Structure specifying parameters of a buffer to image copy command
Valid Usage
srcBuffer
must 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
pRegions
must be a region that is contained withindstImage
if thedstImage
’sFormat
is not a multi-planar format, and must be a region that is contained within the plane being copied to if thedstImage
’sFormat
is 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 srcBuffer
must have been created withBUFFER_USAGE_TRANSFER_SRC_BIT
usage flag- The
format features
of
dstImage
must containFORMAT_FEATURE_TRANSFER_DST_BIT
- If
srcBuffer
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object dstImage
must have been created withIMAGE_USAGE_TRANSFER_DST_BIT
usage flag- If
dstImage
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object dstImage
must have a sample count equal toSAMPLE_COUNT_1_BIT
dstImageLayout
must specify the layout of the image subresources ofdstImage
specified inpRegions
at the time this command is executed on aDevice
dstImageLayout
must beIMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
,IMAGE_LAYOUT_GENERAL
, orIMAGE_LAYOUT_SHARED_PRESENT_KHR
- The
imageSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whendstImage
was created - The
imageSubresource.baseArrayLayer
+imageSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whendstImage
was created - The
imageOffset
andimageExtent
members of each element ofpRegions
must respect the image transfer granularity requirements ofcommandBuffer
’s command pool’s queue family, as described inQueueFamilyProperties
dstImage
must not have been created withflags
containingIMAGE_CREATE_SUBSAMPLED_BIT_EXT
- If the queue family used to create the
CommandPool
whichcommandBuffer
was allocated from does not supportQUEUE_GRAPHICS_BIT
orQUEUE_COMPUTE_BIT
, thebufferOffset
member of any element ofpRegions
must be a multiple of4
- If
dstImage
has a depth/stencil format, thebufferOffset
member of any element ofpRegions
must be a multiple of4
- If
dstImage
does not have either a depth/stencil or a multi-planar format, then for each element ofpRegions
,bufferOffset
must be a multiple of the format’s texel block size - If
dstImage
has a multi-planar format, then for each element ofpRegions
,bufferOffset
must be a multiple of the element size of the compatible format for the format and theaspectMask
of theimageSubresource
as defined in ??? - For each element of
pRegions
,imageOffset.x
and (imageExtent.width
+imageOffset.x
) must both be greater than or equal to0
and less than or equal to the width of the specifiedimageSubresource
ofdstImage
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.y
and (imageExtent.height +imageOffset.y
) must both be greater than or equal to0
and less than or equal to the height of the specifiedimageSubresource
ofdstImage
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
dstImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,imageOffset.y
must be0
andimageExtent.height
must be1
- For each element of
pRegions
,imageOffset.z
and (imageExtent.depth +imageOffset.z
) must both be greater than or equal to0
and less than or equal to the depth of the specifiedimageSubresource
ofdstImage
- If
dstImage
is of typeIMAGE_TYPE_1D
orIMAGE_TYPE_2D
, then for each element ofpRegions
,imageOffset.z
must be0
andimageExtent.depth
must be1
- If
dstImage
is a blocked image, for each element ofpRegions
,bufferRowLength
must be a multiple of the compressed texel block width - If
dstImage
is a blocked image, for each element ofpRegions
,bufferImageHeight
must be a multiple of the compressed texel block height - If
dstImage
is a blocked image, for each element ofpRegions
, all members ofimageOffset
must be a multiple of the corresponding dimensions of the compressed texel block - If
dstImage
is a blocked image, for each element ofpRegions
,bufferOffset
must be a multiple of the compressed texel block size in bytes - If
dstImage
is a blocked image, for each element ofpRegions
,imageExtent.width
must be a multiple of the compressed texel block width or (imageExtent.width
+imageOffset.x
) must equal the width of the specifiedimageSubresource
ofdstImage
- If
dstImage
is a blocked image, for each element ofpRegions
,imageExtent.height
must be a multiple of the compressed texel block height or (imageExtent.height
+imageOffset.y
) must equal the height of the specifiedimageSubresource
ofdstImage
- If
dstImage
is a blocked image, for each element ofpRegions
,imageExtent.depth
must be a multiple of the compressed texel block depth or (imageExtent.depth
+imageOffset.z
) must equal the depth of the specifiedimageSubresource
ofdstImage
- For each element of
pRegions
,imageSubresource.aspectMask
must specify aspects present indstImage
- If
dstImage
has a multi-planar format, then for each element ofpRegions
,imageSubresource.aspectMask
must beIMAGE_ASPECT_PLANE_0_BIT
,IMAGE_ASPECT_PLANE_1_BIT
, orIMAGE_ASPECT_PLANE_2_BIT
(withIMAGE_ASPECT_PLANE_2_BIT
valid only for image formats with three planes) - If
dstImage
is of typeIMAGE_TYPE_3D
, for each element ofpRegions
,imageSubresource.baseArrayLayer
must be0
andimageSubresource.layerCount
must be1
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR
pNext
must beNULL
srcBuffer
must be a validBuffer
handledstImage
must be a validImage
handledstImageLayout
must be a validImageLayout
valuepRegions
must be a valid pointer to an array ofregionCount
validBufferImageCopy2KHR
structuresregionCount
must be greater than0
- Both of
dstImage
, andsrcBuffer
must have been created, allocated, or retrieved from the sameDevice
See Also
Buffer
, BufferImageCopy2KHR
,
Image
,
ImageLayout
,
StructureType
,
cmdCopyBufferToImage2KHR
CopyBufferToImageInfo2KHR | |
|
Instances
Show CopyBufferToImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> CopyBufferToImageInfo2KHR -> ShowS # show :: CopyBufferToImageInfo2KHR -> String # showList :: [CopyBufferToImageInfo2KHR] -> ShowS # | |
FromCStruct CopyBufferToImageInfo2KHR Source # | |
ToCStruct CopyBufferToImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 withCStruct :: CopyBufferToImageInfo2KHR -> (Ptr CopyBufferToImageInfo2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr CopyBufferToImageInfo2KHR -> CopyBufferToImageInfo2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr CopyBufferToImageInfo2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr CopyBufferToImageInfo2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero CopyBufferToImageInfo2KHR Source # | |
data CopyImageToBufferInfo2KHR Source #
VkCopyImageToBufferInfo2KHR - Structure specifying parameters of a image to buffer copy command
Valid Usage
dstBuffer
must 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
pRegions
must be a region that is contained withinsrcImage
if thesrcImage
’sFormat
is not a multi-planar format, and must be a region that is contained within the plane being copied if thesrcImage
’sFormat
is 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 srcImage
must have been created withIMAGE_USAGE_TRANSFER_SRC_BIT
usage flag- The
format features
of
srcImage
must containFORMAT_FEATURE_TRANSFER_SRC_BIT
- If
srcImage
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object dstBuffer
must have been created withBUFFER_USAGE_TRANSFER_DST_BIT
usage flag- If
dstBuffer
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object srcImage
must have a sample count equal toSAMPLE_COUNT_1_BIT
srcImageLayout
must specify the layout of the image subresources ofsrcImage
specified inpRegions
at the time this command is executed on aDevice
srcImageLayout
must beIMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
,IMAGE_LAYOUT_GENERAL
, orIMAGE_LAYOUT_SHARED_PRESENT_KHR
- The
imageSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whensrcImage
was created - The
imageSubresource.baseArrayLayer
+imageSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whensrcImage
was created - The
imageOffset
andimageExtent
members of each element ofpRegions
must respect the image transfer granularity requirements ofcommandBuffer
’s command pool’s queue family, as described inQueueFamilyProperties
srcImage
must not have been created withflags
containingIMAGE_CREATE_SUBSAMPLED_BIT_EXT
- If the queue family used to create the
CommandPool
whichcommandBuffer
was allocated from does not supportQUEUE_GRAPHICS_BIT
orQUEUE_COMPUTE_BIT
, thebufferOffset
member of any element ofpRegions
must be a multiple of4
- If
srcImage
has a depth/stencil format, thebufferOffset
member of any element ofpRegions
must be a multiple of4
- If {imageparam} does not have either a depth/stencil or a
multi-planar format,
then for each element of
pRegions
,bufferOffset
must be a multiple of the format’s texel block size - If {imageparam} has a
multi-planar format,
then for each element of
pRegions
,bufferOffset
must be a multiple of the element size of the compatible format for the format and theaspectMask
of theimageSubresource
as defined in ??? - For each element of
pRegions
,imageOffset.x
and (imageExtent.width
+imageOffset.x
) must both be greater than or equal to0
and less than or equal to the width of the specifiedimageSubresource
of {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.y
and (imageExtent.height +imageOffset.y
) must both be greater than or equal to0
and less than or equal to the height of the specifiedimageSubresource
of {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.y
must be0
andimageExtent.height
must be1
- For each element of
pRegions
,imageOffset.z
and (imageExtent.depth +imageOffset.z
) must both be greater than or equal to0
and less than or equal to the depth of the specifiedimageSubresource
of {imageparam} - If {imageparam} is of type
IMAGE_TYPE_1D
orIMAGE_TYPE_2D
, then for each element ofpRegions
,imageOffset.z
must be0
andimageExtent.depth
must be1
- If {imageparam} is a
blocked image,
for each element of
pRegions
,bufferRowLength
must be a multiple of the compressed texel block width - If {imageparam} is a
blocked image,
for each element of
pRegions
,bufferImageHeight
must be a multiple of the compressed texel block height - If {imageparam} is a
blocked image,
for each element of
pRegions
, all members ofimageOffset
must be a multiple of the corresponding dimensions of the compressed texel block - If {imageparam} is a
blocked image,
for each element of
pRegions
,bufferOffset
must be a multiple of the compressed texel block size in bytes - If {imageparam} is a
blocked image,
for each element of
pRegions
,imageExtent.width
must be a multiple of the compressed texel block width or (imageExtent.width
+imageOffset.x
) must equal the width of the specifiedimageSubresource
of {imageparam} - If {imageparam} is a
blocked image,
for each element of
pRegions
,imageExtent.height
must be a multiple of the compressed texel block height or (imageExtent.height
+imageOffset.y
) must equal the height of the specifiedimageSubresource
of {imageparam} - If {imageparam} is a
blocked image,
for each element of
pRegions
,imageExtent.depth
must be a multiple of the compressed texel block depth or (imageExtent.depth
+imageOffset.z
) must equal the depth of the specifiedimageSubresource
of {imageparam} - For each element of
pRegions
,imageSubresource.aspectMask
must specify aspects present in {imageparam} - If {imageparam} has a
multi-planar format,
then for each element of
pRegions
,imageSubresource.aspectMask
must beIMAGE_ASPECT_PLANE_0_BIT
,IMAGE_ASPECT_PLANE_1_BIT
, orIMAGE_ASPECT_PLANE_2_BIT
(withIMAGE_ASPECT_PLANE_2_BIT
valid only for image formats with three planes) - If {imageparam} is of type
IMAGE_TYPE_3D
, for each element ofpRegions
,imageSubresource.baseArrayLayer
must be0
andimageSubresource.layerCount
must be1
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR
pNext
must beNULL
srcImage
must be a validImage
handlesrcImageLayout
must be a validImageLayout
valuedstBuffer
must be a validBuffer
handlepRegions
must be a valid pointer to an array ofregionCount
validBufferImageCopy2KHR
structuresregionCount
must be greater than0
- Both of
dstBuffer
, andsrcImage
must have been created, allocated, or retrieved from the sameDevice
See Also
Buffer
, BufferImageCopy2KHR
,
Image
,
ImageLayout
,
StructureType
,
cmdCopyImageToBuffer2KHR
CopyImageToBufferInfo2KHR | |
|
Instances
Show CopyImageToBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> CopyImageToBufferInfo2KHR -> ShowS # show :: CopyImageToBufferInfo2KHR -> String # showList :: [CopyImageToBufferInfo2KHR] -> ShowS # | |
FromCStruct CopyImageToBufferInfo2KHR Source # | |
ToCStruct CopyImageToBufferInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 withCStruct :: CopyImageToBufferInfo2KHR -> (Ptr CopyImageToBufferInfo2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr CopyImageToBufferInfo2KHR -> CopyImageToBufferInfo2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr CopyImageToBufferInfo2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr CopyImageToBufferInfo2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero CopyImageToBufferInfo2KHR Source # | |
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
srcImage
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object srcImage
must have a sample count equal to any valid sample count value other thanSAMPLE_COUNT_1_BIT
- If
dstImage
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object dstImage
must have a sample count equal toSAMPLE_COUNT_1_BIT
srcImageLayout
must specify the layout of the image subresources ofsrcImage
specified inpRegions
at the time this command is executed on aDevice
srcImageLayout
must beIMAGE_LAYOUT_SHARED_PRESENT_KHR
,IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
orIMAGE_LAYOUT_GENERAL
dstImageLayout
must specify the layout of the image subresources ofdstImage
specified inpRegions
at the time this command is executed on aDevice
dstImageLayout
must beIMAGE_LAYOUT_SHARED_PRESENT_KHR
,IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
orIMAGE_LAYOUT_GENERAL
- The
format features
of
dstImage
must containFORMAT_FEATURE_COLOR_ATTACHMENT_BIT
srcImage
anddstImage
must have been created with the same image format- The
srcSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whensrcImage
was created - The
dstSubresource.mipLevel
member of each element ofpRegions
must be less than themipLevels
specified inImageCreateInfo
whendstImage
was created - The
srcSubresource.baseArrayLayer
+srcSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whensrcImage
was created - The
dstSubresource.baseArrayLayer
+dstSubresource.layerCount
of each element ofpRegions
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whendstImage
was created dstImage
andsrcImage
must not have been created withflags
containingIMAGE_CREATE_SUBSAMPLED_BIT_EXT
- If either
srcImage
ordstImage
are of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,srcSubresource.baseArrayLayer
must be0
andsrcSubresource.layerCount
must be1
- If either
srcImage
ordstImage
are of typeIMAGE_TYPE_3D
, then for each element ofpRegions
,dstSubresource.baseArrayLayer
must be0
anddstSubresource.layerCount
must be1
- For each element of
pRegions
,srcOffset.x
and (extent.width
+srcOffset.x
) must both be greater than or equal to0
and less than or equal to the width of the specifiedsrcSubresource
ofsrcImage
- For each element of
pRegions
,srcOffset.y
and (extent.height
+srcOffset.y
) must both be greater than or equal to0
and less than or equal to the height of the specifiedsrcSubresource
ofsrcImage
- If
srcImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,srcOffset.y
must be0
andextent.height
must be1
- For each element of
pRegions
,srcOffset.z
and (extent.depth
+srcOffset.z
) must both be greater than or equal to0
and less than or equal to the depth of the specifiedsrcSubresource
ofsrcImage
- If
srcImage
is of typeIMAGE_TYPE_1D
orIMAGE_TYPE_2D
, then for each element ofpRegions
,srcOffset.z
must be0
andextent.depth
must be1
- For each element of
pRegions
,dstOffset.x
and (extent.width
+dstOffset.x
) must both be greater than or equal to0
and less than or equal to the width of the specifieddstSubresource
ofdstImage
- For each element of
pRegions
,dstOffset.y
and (extent.height
+dstOffset.y
) must both be greater than or equal to0
and less than or equal to the height of the specifieddstSubresource
ofdstImage
- If
dstImage
is of typeIMAGE_TYPE_1D
, then for each element ofpRegions
,dstOffset.y
must be0
andextent.height
must be1
- For each element of
pRegions
,dstOffset.z
and (extent.depth
+dstOffset.z
) must both be greater than or equal to0
and less than or equal to the depth of the specifieddstSubresource
ofdstImage
- If
dstImage
is of typeIMAGE_TYPE_1D
orIMAGE_TYPE_2D
, then for each element ofpRegions
,dstOffset.z
must be0
andextent.depth
must be1
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR
pNext
must beNULL
srcImage
must be a validImage
handlesrcImageLayout
must be a validImageLayout
valuedstImage
must be a validImage
handledstImageLayout
must be a validImageLayout
valuepRegions
must be a valid pointer to an array ofregionCount
validImageResolve2KHR
structuresregionCount
must be greater than0
- Both of
dstImage
, andsrcImage
must have been created, allocated, or retrieved from the sameDevice
See Also
Image
,
ImageLayout
, ImageResolve2KHR
,
StructureType
, cmdResolveImage2KHR
ResolveImageInfo2KHR | |
|
Instances
Show ResolveImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 showsPrec :: Int -> ResolveImageInfo2KHR -> ShowS # show :: ResolveImageInfo2KHR -> String # showList :: [ResolveImageInfo2KHR] -> ShowS # | |
FromCStruct ResolveImageInfo2KHR Source # | |
ToCStruct ResolveImageInfo2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_copy_commands2 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 |
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 #