| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Vulkan.Core10.OtherTypes
Synopsis
- data MemoryBarrier = MemoryBarrier {}
- data BufferMemoryBarrier (es :: [Type]) = BufferMemoryBarrier {}
- data ImageMemoryBarrier (es :: [Type]) = ImageMemoryBarrier {}
- data PipelineCacheHeaderVersionOne = PipelineCacheHeaderVersionOne {}
- data DrawIndirectCommand = DrawIndirectCommand {}
- data DrawIndexedIndirectCommand = DrawIndexedIndirectCommand {}
- data DispatchIndirectCommand = DispatchIndirectCommand {}
- data BaseOutStructure = BaseOutStructure {}
- data BaseInStructure = BaseInStructure {}
- newtype ObjectType where
- ObjectType Int32
- pattern OBJECT_TYPE_UNKNOWN :: ObjectType
- pattern OBJECT_TYPE_INSTANCE :: ObjectType
- pattern OBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType
- pattern OBJECT_TYPE_DEVICE :: ObjectType
- pattern OBJECT_TYPE_QUEUE :: ObjectType
- pattern OBJECT_TYPE_SEMAPHORE :: ObjectType
- pattern OBJECT_TYPE_COMMAND_BUFFER :: ObjectType
- pattern OBJECT_TYPE_FENCE :: ObjectType
- pattern OBJECT_TYPE_DEVICE_MEMORY :: ObjectType
- pattern OBJECT_TYPE_BUFFER :: ObjectType
- pattern OBJECT_TYPE_IMAGE :: ObjectType
- pattern OBJECT_TYPE_EVENT :: ObjectType
- pattern OBJECT_TYPE_QUERY_POOL :: ObjectType
- pattern OBJECT_TYPE_BUFFER_VIEW :: ObjectType
- pattern OBJECT_TYPE_IMAGE_VIEW :: ObjectType
- pattern OBJECT_TYPE_SHADER_MODULE :: ObjectType
- pattern OBJECT_TYPE_PIPELINE_CACHE :: ObjectType
- pattern OBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType
- pattern OBJECT_TYPE_RENDER_PASS :: ObjectType
- pattern OBJECT_TYPE_PIPELINE :: ObjectType
- pattern OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType
- pattern OBJECT_TYPE_SAMPLER :: ObjectType
- pattern OBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType
- pattern OBJECT_TYPE_DESCRIPTOR_SET :: ObjectType
- pattern OBJECT_TYPE_FRAMEBUFFER :: ObjectType
- pattern OBJECT_TYPE_COMMAND_POOL :: ObjectType
- pattern OBJECT_TYPE_SHADER_EXT :: ObjectType
- pattern OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV :: ObjectType
- pattern OBJECT_TYPE_MICROMAP_EXT :: ObjectType
- pattern OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: ObjectType
- pattern OBJECT_TYPE_CUDA_FUNCTION_NV :: ObjectType
- pattern OBJECT_TYPE_CUDA_MODULE_NV :: ObjectType
- pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
- pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
- pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
- pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: ObjectType
- pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
- pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
- pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
- pattern OBJECT_TYPE_CU_FUNCTION_NVX :: ObjectType
- pattern OBJECT_TYPE_CU_MODULE_NVX :: ObjectType
- pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
- pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
- pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType
- pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
- pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType
- pattern OBJECT_TYPE_PRIVATE_DATA_SLOT :: ObjectType
- pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
- pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
- newtype VendorId where
- VendorId Int32
- pattern VENDOR_ID_VIV :: VendorId
- pattern VENDOR_ID_VSI :: VendorId
- pattern VENDOR_ID_KAZAN :: VendorId
- pattern VENDOR_ID_CODEPLAY :: VendorId
- pattern VENDOR_ID_MESA :: VendorId
- pattern VENDOR_ID_POCL :: VendorId
- pattern VENDOR_ID_MOBILEYE :: VendorId
Documentation
data MemoryBarrier Source #
VkMemoryBarrier - Structure specifying a global memory barrier
Description
The first
access scope
is limited to access types in the
source access mask
specified by srcAccessMask.
The second
access scope
is limited to access types in the
destination access mask
specified by dstAccessMask.
Valid Usage (Implicit)
See Also
VK_VERSION_1_0,
AccessFlags,
StructureType,
cmdPipelineBarrier,
cmdWaitEvents
Constructors
| MemoryBarrier | |
Fields
| |
Instances
data BufferMemoryBarrier (es :: [Type]) Source #
VkBufferMemoryBarrier - Structure specifying a buffer memory barrier
Description
The first
access scope
is limited to access to memory through the specified buffer range, via
access types in the
source access mask
specified by srcAccessMask. If srcAccessMask includes
ACCESS_HOST_WRITE_BIT, a
memory domain operation
is performed where available memory in the host domain is also made
available to the device domain.
The second
access scope
is limited to access to memory through the specified buffer range, via
access types in the
destination access mask
specified by dstAccessMask. If dstAccessMask includes
ACCESS_HOST_WRITE_BIT or
ACCESS_HOST_READ_BIT, a
memory domain operation
is performed where available memory in the device domain is also made
available to the host domain.
Note
When
MEMORY_PROPERTY_HOST_COHERENT_BIT
is used, available memory in host domain is automatically made visible
to host domain, and any host write is automatically made available to
host domain.
If srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, and
srcQueueFamilyIndex is equal to the current queue family, then the
memory barrier defines a
queue family release operation
for the specified buffer range, and the second access scope includes no
access, as if dstAccessMask was 0.
If dstQueueFamilyIndex is not equal to srcQueueFamilyIndex, and
dstQueueFamilyIndex is equal to the current queue family, then the
memory barrier defines a
queue family acquire operation
for the specified buffer range, and the first access scope includes no
access, as if srcAccessMask was 0.
Valid Usage
- If
sizeis not equal toWHOLE_SIZE,sizemust be greater than0 - If
sizeis not equal toWHOLE_SIZE,sizemust be less than or equal to than the size ofbufferminusoffset - If
bufferis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject - If
bufferwas created with a sharing mode ofSHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,srcQueueFamilyIndexmust beQUEUE_FAMILY_EXTERNAL,QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family - If
bufferwas created with a sharing mode ofSHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,dstQueueFamilyIndexmust beQUEUE_FAMILY_EXTERNAL,QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family - If
srcQueueFamilyIndexis not equal todstQueueFamilyIndex, at least one ofsrcQueueFamilyIndexordstQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNALorQUEUE_FAMILY_FOREIGN_EXT - If the
VK_KHR_external_memory
extension is not enabled, and the value of
ApplicationInfo::apiVersionused to create theInstanceis not greater than or equal to Version 1.1,srcQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNAL - If the
VK_KHR_external_memory
extension is not enabled, and the value of
ApplicationInfo::apiVersionused to create theInstanceis not greater than or equal to Version 1.1,dstQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNAL - If the
VK_EXT_queue_family_foreign
extension is not enabled
srcQueueFamilyIndexmust not beQUEUE_FAMILY_FOREIGN_EXT - If the
VK_EXT_queue_family_foreign
extension is not enabled
dstQueueFamilyIndexmust not beQUEUE_FAMILY_FOREIGN_EXT - If the
synchronization2
feature is not enabled, and
bufferwas created with a sharing mode ofSHARING_MODE_CONCURRENT, at least one ofsrcQueueFamilyIndexanddstQueueFamilyIndexmust beQUEUE_FAMILY_IGNORED - If the
synchronization2
feature is not enabled, and
bufferwas created with a sharing mode ofSHARING_MODE_CONCURRENT,srcQueueFamilyIndexmust beQUEUE_FAMILY_IGNOREDorQUEUE_FAMILY_EXTERNAL - If the
synchronization2
feature is not enabled, and
bufferwas created with a sharing mode ofSHARING_MODE_CONCURRENT,dstQueueFamilyIndexmust beQUEUE_FAMILY_IGNOREDorQUEUE_FAMILY_EXTERNAL
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_BUFFER_MEMORY_BARRIER
-
pNextmust beNULLor a pointer to a valid instance ofExternalMemoryAcquireUnmodifiedEXT - The
sTypevalue of each struct in thepNextchain must be unique -
buffermust be a validBufferhandle
See Also
VK_VERSION_1_0,
AccessFlags,
Buffer,
DeviceSize,
StructureType,
cmdPipelineBarrier,
cmdWaitEvents
Constructors
| BufferMemoryBarrier | |
Fields
| |
Instances
data ImageMemoryBarrier (es :: [Type]) Source #
VkImageMemoryBarrier - Structure specifying the parameters of an image memory barrier
Description
The first
access scope
is limited to access to memory through the specified image subresource
range, via access types in the
source access mask
specified by srcAccessMask. If srcAccessMask includes
ACCESS_HOST_WRITE_BIT, memory
writes performed by that access type are also made visible, as that
access type is not performed through a resource.
The second
access scope
is limited to access to memory through the specified image subresource
range, via access types in the
destination access mask
specified by dstAccessMask. If dstAccessMask includes
ACCESS_HOST_WRITE_BIT or
ACCESS_HOST_READ_BIT, available
memory writes are also made visible to accesses of those types, as those
access types are not performed through a resource.
If srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, and
srcQueueFamilyIndex is equal to the current queue family, then the
memory barrier defines a
queue family release operation
for the specified image subresource range, and the second access scope
includes no access, as if dstAccessMask was 0.
If dstQueueFamilyIndex is not equal to srcQueueFamilyIndex, and
dstQueueFamilyIndex is equal to the current queue family, then the
memory barrier defines a
queue family acquire operation
for the specified image subresource range, and the first access scope
includes no access, as if srcAccessMask was 0.
If the
synchronization2
feature is not enabled or oldLayout is not equal to newLayout,
oldLayout and newLayout define an
image layout transition
for the specified image subresource range.
Note
If the synchronization2 feature is enabled, when the old and new layout are equal, the layout values are ignored - data is preserved no matter what values are specified, or what layout the image is currently in.
If image has a multi-planar format and the image is disjoint, then
including
IMAGE_ASPECT_COLOR_BIT in the
aspectMask member of subresourceRange is equivalent to including
IMAGE_ASPECT_PLANE_0_BIT,
IMAGE_ASPECT_PLANE_1_BIT, and
(for three-plane formats only)
IMAGE_ASPECT_PLANE_2_BIT.
Valid Usage
- If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BIT
- If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALthenimagemust have been created withIMAGE_USAGE_SAMPLED_BITorIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_TRANSFER_SRC_OPTIMALthenimagemust have been created withIMAGE_USAGE_TRANSFER_SRC_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_TRANSFER_DST_OPTIMALthenimagemust have been created withIMAGE_USAGE_TRANSFER_DST_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,oldLayoutmust beIMAGE_LAYOUT_UNDEFINEDor the current layout of the image subresources affected by the barrier - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,newLayoutmust not beIMAGE_LAYOUT_UNDEFINEDorIMAGE_LAYOUT_PREINITIALIZED - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMALthenimagemust have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,IMAGE_USAGE_SAMPLED_BIT, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITset - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,IMAGE_USAGE_SAMPLED_BIT, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITset - If the
synchronization2
feature is not enabled,
oldLayoutmust not beIMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRorIMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR - If the
synchronization2
feature is not enabled,
newLayoutmust not beIMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRorIMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_ATTACHMENT_OPTIMAL,imagemust have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BITorIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_READ_ONLY_OPTIMAL,imagemust have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,IMAGE_USAGE_SAMPLED_BIT, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHRthenimagemust have been created withIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRset - If
imagewas created with a sharing mode ofSHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,srcQueueFamilyIndexmust beQUEUE_FAMILY_EXTERNAL,QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family - If
imagewas created with a sharing mode ofSHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,dstQueueFamilyIndexmust beQUEUE_FAMILY_EXTERNAL,QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family - If
srcQueueFamilyIndexis not equal todstQueueFamilyIndex, at least one ofsrcQueueFamilyIndexordstQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNALorQUEUE_FAMILY_FOREIGN_EXT - If the
VK_KHR_external_memory
extension is not enabled, and the value of
ApplicationInfo::apiVersionused to create theInstanceis not greater than or equal to Version 1.1,srcQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNAL - If the
VK_KHR_external_memory
extension is not enabled, and the value of
ApplicationInfo::apiVersionused to create theInstanceis not greater than or equal to Version 1.1,dstQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNAL - If the
VK_EXT_queue_family_foreign
extension is not enabled
srcQueueFamilyIndexmust not beQUEUE_FAMILY_FOREIGN_EXT - If the
VK_EXT_queue_family_foreign
extension is not enabled
dstQueueFamilyIndexmust not beQUEUE_FAMILY_FOREIGN_EXT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisVK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHRthenimagemust have been created withVK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXTthenimagemust have been created with either theIMAGE_USAGE_COLOR_ATTACHMENT_BITorIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITusage bits, and theIMAGE_USAGE_INPUT_ATTACHMENT_BITorIMAGE_USAGE_SAMPLED_BITusage bits, and theIMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTusage bit - If
the
attachmentFeedbackLoopLayout
feature is not enabled,
newLayoutmust not beIMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT -
subresourceRange.baseMipLevelmust be less than themipLevelsspecified inImageCreateInfowhenimagewas created - If
subresourceRange.levelCountis notREMAINING_MIP_LEVELS,subresourceRange.baseMipLevel+subresourceRange.levelCountmust be less than or equal to themipLevelsspecified inImageCreateInfowhenimagewas created -
subresourceRange.baseArrayLayermust be less than thearrayLayersspecified inImageCreateInfowhenimagewas created - If
subresourceRange.layerCountis notREMAINING_ARRAY_LAYERS,subresourceRange.baseArrayLayer+subresourceRange.layerCountmust be less than or equal to thearrayLayersspecified inImageCreateInfowhenimagewas created - If
imageis non-sparse then it must be bound completely and contiguously to a singleDeviceMemoryobject - If
imagehas a color format that is single-plane, then theaspectMaskmember ofsubresourceRangemust beIMAGE_ASPECT_COLOR_BIT - If
imagehas a color format and is not disjoint, then theaspectMaskmember ofsubresourceRangemust beIMAGE_ASPECT_COLOR_BIT - If
imagehas a multi-planar format and the image is disjoint, then theaspectMaskmember ofsubresourceRangemust include at least one multi-planar aspect mask bit orIMAGE_ASPECT_COLOR_BIT - If
imagehas a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is enabled, then theaspectMaskmember ofsubresourceRangemust include either or bothIMAGE_ASPECT_DEPTH_BITandIMAGE_ASPECT_STENCIL_BIT - If
imagehas a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is not enabled, then theaspectMaskmember ofsubresourceRangemust include bothIMAGE_ASPECT_DEPTH_BITandIMAGE_ASPECT_STENCIL_BIT - If the
aspectMaskmember ofsubresourceRangeincludesIMAGE_ASPECT_DEPTH_BIT,oldLayoutandnewLayoutmust not be one ofIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If the
aspectMaskmember ofsubresourceRangeincludesIMAGE_ASPECT_STENCIL_BIT,oldLayoutandnewLayoutmust not be one ofIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL - If the
synchronization2
feature is not enabled, and
imagewas created with a sharing mode ofSHARING_MODE_CONCURRENT, at least one ofsrcQueueFamilyIndexanddstQueueFamilyIndexmust beQUEUE_FAMILY_IGNORED - If the
synchronization2
feature is not enabled, and
imagewas created with a sharing mode ofSHARING_MODE_CONCURRENT,srcQueueFamilyIndexmust beQUEUE_FAMILY_IGNOREDorQUEUE_FAMILY_EXTERNAL - If the
synchronization2
feature is not enabled, and
imagewas created with a sharing mode ofSHARING_MODE_CONCURRENT,dstQueueFamilyIndexmust beQUEUE_FAMILY_IGNOREDorQUEUE_FAMILY_EXTERNAL
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_IMAGE_MEMORY_BARRIER
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofExternalMemoryAcquireUnmodifiedEXTorSampleLocationsInfoEXT - The
sTypevalue of each struct in thepNextchain must be unique -
oldLayoutmust be a validImageLayoutvalue -
newLayoutmust be a validImageLayoutvalue -
imagemust be a validImagehandle -
subresourceRangemust be a validImageSubresourceRangestructure
See Also
VK_VERSION_1_0,
AccessFlags,
Image,
ImageLayout,
ImageSubresourceRange,
StructureType,
cmdPipelineBarrier,
cmdWaitEvents
Constructors
| ImageMemoryBarrier | |
Fields
| |
Instances
data PipelineCacheHeaderVersionOne Source #
VkPipelineCacheHeaderVersionOne - Structure describing the layout of the pipeline cache header
Description
Unlike most structures declared by the Vulkan API, all fields of this structure are written with the least significant byte first, regardless of host byte-order.
The C language specification does not define the packing of structure members. This layout assumes tight structure member packing, with members laid out in the order listed in the structure, and the intended size of the structure is 32 bytes. If a compiler produces code that diverges from that pattern, applications must employ another method to set values at the correct offsets.
Valid Usage (Implicit)
See Also
Constructors
| PipelineCacheHeaderVersionOne | |
Fields
| |
Instances
data DrawIndirectCommand Source #
VkDrawIndirectCommand - Structure specifying a indirect drawing command
Description
The members of DrawIndirectCommand have the same meaning as the
similarly named parameters of
cmdDraw.
Valid Usage
- For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fxvertex-input
- If the
drawIndirectFirstInstance
feature is not enabled,
firstInstancemust be0
See Also
Constructors
| DrawIndirectCommand | |
Fields
| |
Instances
data DrawIndexedIndirectCommand Source #
VkDrawIndexedIndirectCommand - Structure specifying a indexed indirect drawing command
Description
The members of DrawIndexedIndirectCommand have the same meaning as the
similarly named parameters of
cmdDrawIndexed.
Valid Usage
- If
robustBufferAccess2
is not enabled, (
indexSize× (firstIndex+indexCount) +offset) must be less than or equal to the size of the bound index buffer, withindexSizebeing based on the type specified byindexType, where the index buffer,indexType, andoffsetare specified viacmdBindIndexBufferorcmdBindIndexBuffer2KHR. IfcmdBindIndexBuffer2KHRis used to bind the index buffer, the size of the bound index buffer iscmdBindIndexBuffer2KHR::size
- For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fxvertex-input
- If the
drawIndirectFirstInstance
feature is not enabled,
firstInstancemust be0
See Also
Constructors
| DrawIndexedIndirectCommand | |
Fields
| |
Instances
data DispatchIndirectCommand Source #
VkDispatchIndirectCommand - Structure specifying a indirect dispatching command
Description
The members of DispatchIndirectCommand have the same meaning as the
corresponding parameters of
cmdDispatch.
Valid Usage
See Also
Constructors
| DispatchIndirectCommand | |
Fields
| |
Instances
data BaseOutStructure Source #
VkBaseOutStructure - Base structure for a read-only pointer chain
Description
BaseOutStructure can be used to facilitate iterating through a
structure pointer chain that returns data back to the application.
See Also
VK_VERSION_1_0,
BaseOutStructure, StructureType,
getPipelinePropertiesEXT
Constructors
| BaseOutStructure | |
Fields
| |
Instances
data BaseInStructure Source #
VkBaseInStructure - Base structure for a read-only pointer chain
Description
BaseInStructure can be used to facilitate iterating through a
read-only structure pointer chain.
See Also
Constructors
| BaseInStructure | |
Fields
| |
Instances
newtype ObjectType Source #
VkObjectType - Specify an enumeration to track object handle types
Description
'
ObjectType and Vulkan Handle Relationship
See Also
VK_VERSION_1_0,
DebugUtilsObjectNameInfoEXT,
DebugUtilsObjectTagInfoEXT,
DeviceMemoryReportCallbackDataEXT,
getPrivateData,
getPrivateDataEXT,
setPrivateData,
setPrivateDataEXT
Constructors
| ObjectType Int32 |
Bundled Patterns
Instances
VkVendorId - Khronos vendor IDs
Description
Note
Khronos vendor IDs may be allocated by vendors at any time. Only the
latest canonical versions of this Specification, of the corresponding
vk.xml API Registry, and of the corresponding vulkan_core.h header
file must contain all reserved Khronos vendor IDs.
Only Khronos vendor IDs are given symbolic names at present. PCI vendor IDs returned by the implementation can be looked up in the PCI-SIG database.
See Also
Bundled Patterns
| pattern VENDOR_ID_VIV :: VendorId | |
| pattern VENDOR_ID_VSI :: VendorId | |
| pattern VENDOR_ID_KAZAN :: VendorId | |
| pattern VENDOR_ID_CODEPLAY :: VendorId | |
| pattern VENDOR_ID_MESA :: VendorId | |
| pattern VENDOR_ID_POCL :: VendorId | |
| pattern VENDOR_ID_MOBILEYE :: VendorId |
Instances
| Storable VendorId Source # | |
Defined in Vulkan.Core10.Enums.VendorId | |
| Read VendorId Source # | |
| Show VendorId Source # | |
| Eq VendorId Source # | |
| Ord VendorId Source # | |
Defined in Vulkan.Core10.Enums.VendorId | |
| Zero VendorId Source # | |
Defined in Vulkan.Core10.Enums.VendorId | |