Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data MemoryBarrier = MemoryBarrier {}
- data BufferMemoryBarrier = BufferMemoryBarrier {}
- data ImageMemoryBarrier (es :: [Type]) = ImageMemoryBarrier {}
- 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_PRIVATE_DATA_SLOT_EXT :: ObjectType
- pattern OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
- pattern OBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
- pattern OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
- pattern OBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
- pattern OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
- pattern OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
- pattern OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
- pattern OBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
- pattern OBJECT_TYPE_DISPLAY_KHR :: ObjectType
- pattern OBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
- pattern OBJECT_TYPE_SURFACE_KHR :: ObjectType
- pattern OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
- pattern OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
- 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
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
AccessFlags
,
StructureType
,
cmdPipelineBarrier
,
cmdWaitEvents
MemoryBarrier | |
|
Instances
data BufferMemoryBarrier 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
, memory
writes performed by that access type are also made visible, as that
access type is not performed through a resource.
The second
access scope
is limited to access to memory through the specified buffer range, via
access types in the
destination access mask
specified by dstAccessMask
. If dstAccessMask
includes
ACCESS_HOST_WRITE_BIT
or
ACCESS_HOST_READ_BIT
, available
memory writes are also made visible to accesses of those types, as those
access types are not performed through a resource.
If srcQueueFamilyIndex
is not equal to dstQueueFamilyIndex
, and
srcQueueFamilyIndex
is equal to the current queue family, then the
memory barrier defines a
queue family release operation
for the specified buffer range, and the second access scope includes no
access, as if dstAccessMask
was 0
.
If dstQueueFamilyIndex
is not equal to srcQueueFamilyIndex
, and
dstQueueFamilyIndex
is equal to the current queue family, then the
memory barrier defines a
queue family acquire operation
for the specified buffer range, and the first access scope includes no
access, as if srcAccessMask
was 0
.
Valid Usage
offset
must be less than the size ofbuffer
- If
size
is not equal toWHOLE_SIZE
,size
must be greater than0
- If
size
is not equal toWHOLE_SIZE
,size
must be less than or equal to than the size ofbuffer
minusoffset
- If
buffer
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object - If
srcQueueFamilyIndex
is not equal todstQueueFamilyIndex
, at least one must not be a special queue family reserved for external memory ownership transfers, as described in ??? - If
buffer
was created with a sharing mode ofSHARING_MODE_CONCURRENT
,srcQueueFamilyIndex
anddstQueueFamilyIndex
are not equal, and one ofsrcQueueFamilyIndex
anddstQueueFamilyIndex
is a special queue family values reserved for external memory transfers, the other must beQUEUE_FAMILY_IGNORED
- If
buffer
was created with a sharing mode ofSHARING_MODE_EXCLUSIVE
, andsrcQueueFamilyIndex
anddstQueueFamilyIndex
are not equal,srcQueueFamilyIndex
anddstQueueFamilyIndex
must both be valid queue families, or one of the special queue family values reserved for external memory transfers, as described in ??? - If
buffer
was created with a sharing mode ofSHARING_MODE_CONCURRENT
, at least one ofsrcQueueFamilyIndex
anddstQueueFamilyIndex
must beQUEUE_FAMILY_IGNORED
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_BUFFER_MEMORY_BARRIER
pNext
must beNULL
buffer
must be a validBuffer
handle
See Also
AccessFlags
,
Buffer
,
DeviceSize
,
StructureType
,
cmdPipelineBarrier
,
cmdWaitEvents
BufferMemoryBarrier | |
|
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
.
oldLayout
and newLayout
define an
image layout transition
for the specified image subresource range.
If image
has a multi-planar format and the image is disjoint, then
including
IMAGE_ASPECT_COLOR_BIT
in the
aspectMask
member of subresourceRange
is equivalent to including
IMAGE_ASPECT_PLANE_0_BIT
,
IMAGE_ASPECT_PLANE_1_BIT
, and
(for three-plane formats only)
IMAGE_ASPECT_PLANE_2_BIT
.
Valid Usage
subresourceRange.baseMipLevel
must be less than themipLevels
specified inImageCreateInfo
whenimage
was created
- If
subresourceRange.levelCount
is notREMAINING_MIP_LEVELS
,subresourceRange.baseMipLevel
+subresourceRange.levelCount
must be less than or equal to themipLevels
specified inImageCreateInfo
whenimage
was created subresourceRange.baseArrayLayer
must be less than thearrayLayers
specified inImageCreateInfo
whenimage
was created- If
subresourceRange.layerCount
is notREMAINING_ARRAY_LAYERS
,subresourceRange.baseArrayLayer
+subresourceRange.layerCount
must be less than or equal to thearrayLayers
specified inImageCreateInfo
whenimage
was created - If
image
is non-sparse then it must be bound completely and contiguously to a singleDeviceMemory
object - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_SAMPLED_BIT
orIMAGE_USAGE_INPUT_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_TRANSFER_SRC_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_TRANSFER_DST_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition,oldLayout
must beIMAGE_LAYOUT_UNDEFINED
or the current layout of the image subresources affected by the barrier - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition,newLayout
must not beIMAGE_LAYOUT_UNDEFINED
orIMAGE_LAYOUT_PREINITIALIZED
- If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
thenimage
must have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR
thenimage
must have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
,IMAGE_USAGE_SAMPLED_BIT
, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR
thenimage
must have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR
thenimage
must have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
,IMAGE_USAGE_SAMPLED_BIT
, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR
thenimage
must have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set - If
srcQueueFamilyIndex
anddstQueueFamilyIndex
define a queue family ownership transfer oroldLayout
andnewLayout
define a image layout transition, andoldLayout
ornewLayout
isIMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
thenimage
must have been created withIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
set - If
image
has a single-plane color format or is not disjoint, then theaspectMask
member ofsubresourceRange
must beIMAGE_ASPECT_COLOR_BIT
- If
image
has a multi-planar format and the image is disjoint, then theaspectMask
member ofsubresourceRange
must include either at least one ofIMAGE_ASPECT_PLANE_0_BIT
,IMAGE_ASPECT_PLANE_1_BIT
, andIMAGE_ASPECT_PLANE_2_BIT
; or must includeIMAGE_ASPECT_COLOR_BIT
- If
image
has a multi-planar format with only two planes, then theaspectMask
member ofsubresourceRange
must not includeIMAGE_ASPECT_PLANE_2_BIT
- If
image
has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is enabled, then theaspectMask
member ofsubresourceRange
must include either or bothIMAGE_ASPECT_DEPTH_BIT
andIMAGE_ASPECT_STENCIL_BIT
- If
image
has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is not enabled, then theaspectMask
member ofsubresourceRange
must include bothIMAGE_ASPECT_DEPTH_BIT
andIMAGE_ASPECT_STENCIL_BIT
- If
srcQueueFamilyIndex
is not equal todstQueueFamilyIndex
, at least one must not be a special queue family reserved for external memory ownership transfers, as described in ??? - If
image
was created with a sharing mode ofSHARING_MODE_CONCURRENT
,srcQueueFamilyIndex
anddstQueueFamilyIndex
are not equal, and one ofsrcQueueFamilyIndex
anddstQueueFamilyIndex
is a special queue family values reserved for external memory transfers, the other must beQUEUE_FAMILY_IGNORED
- If
image
was created with a sharing mode ofSHARING_MODE_EXCLUSIVE
, andsrcQueueFamilyIndex
anddstQueueFamilyIndex
are not equal,srcQueueFamilyIndex
anddstQueueFamilyIndex
must both be valid queue families, or one of the special queue family values reserved for external memory transfers, as described in ??? - If
image
was created with a sharing mode ofSHARING_MODE_CONCURRENT
, at least one ofsrcQueueFamilyIndex
anddstQueueFamilyIndex
must beQUEUE_FAMILY_IGNORED
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_IMAGE_MEMORY_BARRIER
pNext
must beNULL
or a pointer to a valid instance ofSampleLocationsInfoEXT
- The
sType
value of each struct in thepNext
chain must be unique oldLayout
must be a validImageLayout
valuenewLayout
must be a validImageLayout
valueimage
must be a validImage
handlesubresourceRange
must be a validImageSubresourceRange
structure
See Also
AccessFlags
,
Image
,
ImageLayout
,
ImageSubresourceRange
,
StructureType
,
cmdPipelineBarrier
,
cmdWaitEvents
ImageMemoryBarrier | |
|
Instances
data DrawIndirectCommand Source #
VkDrawIndirectCommand - Structure specifying a draw indirect command
Description
The members of DrawIndirectCommand
have the same meaning as the
similarly named parameters of
cmdDraw
.
Valid Usage
- For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input
- If the
drawIndirectFirstInstance
feature is not enabled,
firstInstance
must be0
See Also
DrawIndirectCommand | |
|
Instances
data DrawIndexedIndirectCommand Source #
VkDrawIndexedIndirectCommand - Structure specifying a draw indexed indirect command
Description
The members of DrawIndexedIndirectCommand
have the same meaning as the
similarly named parameters of
cmdDrawIndexed
.
Valid Usage
- For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input
- (
indexSize
× (firstIndex
+indexCount
) +offset
) must be less than or equal to the size of the bound index buffer, withindexSize
being based on the type specified byindexType
, where the index buffer,indexType
, andoffset
are specified viacmdBindIndexBuffer
- If the
drawIndirectFirstInstance
feature is not enabled,
firstInstance
must be0
See Also
DrawIndexedIndirectCommand | |
|
Instances
data DispatchIndirectCommand Source #
VkDispatchIndirectCommand - Structure specifying a dispatch indirect command
Description
The members of DispatchIndirectCommand
have the same meaning as the
corresponding parameters of
cmdDispatch
.
Valid Usage
See Also
DispatchIndirectCommand | |
|
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
BaseOutStructure | |
|
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
BaseInStructure | |
|
Instances
newtype ObjectType Source #
VkObjectType - Specify an enumeration to track object handle types
Description
'
ObjectType
and Vulkan Handle Relationship
See Also
DebugUtilsObjectNameInfoEXT
,
DebugUtilsObjectTagInfoEXT
,
DeviceMemoryReportCallbackDataEXT
,
getPrivateDataEXT
,
setPrivateDataEXT
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
No cross-references are available
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 |
Instances
Eq VendorId Source # | |
Ord VendorId Source # | |
Defined in Vulkan.Core10.Enums.VendorId | |
Read VendorId Source # | |
Show VendorId Source # | |
Storable VendorId Source # | |
Defined in Vulkan.Core10.Enums.VendorId | |
Zero VendorId Source # | |
Defined in Vulkan.Core10.Enums.VendorId |