Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type MemoryPropertyFlags = MemoryPropertyFlagBits
- newtype MemoryPropertyFlagBits where
- MemoryPropertyFlagBits Flags
- pattern MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_HOST_VISIBLE_BIT :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_HOST_COHERENT_BIT :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_HOST_CACHED_BIT :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD :: MemoryPropertyFlagBits
- pattern MEMORY_PROPERTY_PROTECTED_BIT :: MemoryPropertyFlagBits
Documentation
newtype MemoryPropertyFlagBits Source #
VkMemoryPropertyFlagBits - Bitmask specifying properties for a memory type
Description
For any memory allocated with both the
MEMORY_PROPERTY_HOST_COHERENT_BIT
and the
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
, host or device accesses also
perform automatic memory domain transfer operations, such that writes
are always automatically available and visible to both host and device
memory domains.
Note
Device coherence is a useful property for certain debugging use cases (e.g. crash analysis, where performing separate coherence actions could mean values are not reported correctly). However, device coherent accesses may be slower than equivalent accesses without device coherence, particularly if they are also device uncached. For device uncached memory in particular, repeated accesses to the same or neighbouring memory locations over a short time period (e.g. within a frame) may be slower than it would be for the equivalent cached memory type. As such, it is generally inadvisable to use device coherent or device uncached memory except when really needed.
See Also
pattern MEMORY_PROPERTY_DEVICE_LOCAL_BIT :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_HOST_VISIBLE_BIT :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_HOST_COHERENT_BIT :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_HOST_CACHED_BIT :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD :: MemoryPropertyFlagBits |
|
pattern MEMORY_PROPERTY_PROTECTED_BIT :: MemoryPropertyFlagBits |
|