Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype AccessFlagBits where
- AccessFlagBits Flags
- pattern ACCESS_INDIRECT_COMMAND_READ_BIT :: AccessFlagBits
- pattern ACCESS_INDEX_READ_BIT :: AccessFlagBits
- pattern ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: AccessFlagBits
- pattern ACCESS_UNIFORM_READ_BIT :: AccessFlagBits
- pattern ACCESS_INPUT_ATTACHMENT_READ_BIT :: AccessFlagBits
- pattern ACCESS_SHADER_READ_BIT :: AccessFlagBits
- pattern ACCESS_SHADER_WRITE_BIT :: AccessFlagBits
- pattern ACCESS_COLOR_ATTACHMENT_READ_BIT :: AccessFlagBits
- pattern ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: AccessFlagBits
- pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT :: AccessFlagBits
- pattern ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT :: AccessFlagBits
- pattern ACCESS_TRANSFER_READ_BIT :: AccessFlagBits
- pattern ACCESS_TRANSFER_WRITE_BIT :: AccessFlagBits
- pattern ACCESS_HOST_READ_BIT :: AccessFlagBits
- pattern ACCESS_HOST_WRITE_BIT :: AccessFlagBits
- pattern ACCESS_MEMORY_READ_BIT :: AccessFlagBits
- pattern ACCESS_MEMORY_WRITE_BIT :: AccessFlagBits
- pattern ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits
- pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV :: AccessFlagBits
- pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV :: AccessFlagBits
- pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: AccessFlagBits
- pattern ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits
- pattern ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX :: AccessFlagBits
- pattern ACCESS_COMMAND_PROCESS_READ_BIT_NVX :: AccessFlagBits
- pattern ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits
- pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits
- pattern ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits
- pattern ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits
- type AccessFlags = AccessFlagBits
Documentation
newtype AccessFlagBits Source #
VkAccessFlagBits - Bitmask specifying memory access types that will participate in a memory dependency
Description
Certain access types are only performed by a subset of pipeline stages. Any synchronization command that takes both stage masks and access masks uses both to define the access scopes - only the specified access types performed by the specified stages are included in the access scope. An application must not specify an access flag in a synchronization command if it does not include a pipeline stage in the corresponding stage mask that is able to perform accesses of that type. The following table lists, for each access flag, which pipeline stages can perform that type of access.
Supported access types
If a memory object does not have the
MEMORY_PROPERTY_HOST_COHERENT_BIT
property, then flushMappedMemoryRanges
must be called in order to guarantee that writes to the memory object
from the host are made available to the host domain, where they can be
further made available to the device domain via a domain operation.
Similarly, invalidateMappedMemoryRanges
must be called to guarantee that writes which are available to the
host domain are made visible to host operations.
If the memory object does have the
MEMORY_PROPERTY_HOST_COHERENT_BIT
property flag, writes to the memory object from the host are
automatically made available to the host domain. Similarly, writes made
available to the host domain are automatically made visible to the host.
Note
The queueSubmit
command
automatically performs a domain operation from host to device
for all writes performed before the command executes, so in most cases
an explicit memory barrier is not needed for this case. In the few
circumstances where a submit does not occur between the host write and
the device read access, writes can be made available by using an
explicit memory barrier.
See Also
Instances
type AccessFlags = AccessFlagBits Source #