Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype SharingMode where
- SharingMode Int32
- pattern SHARING_MODE_EXCLUSIVE :: SharingMode
- pattern SHARING_MODE_CONCURRENT :: SharingMode
Documentation
newtype SharingMode Source #
VkSharingMode - Buffer and image sharing modes
Description
Note
SHARING_MODE_CONCURRENT
may result in lower performance access to
the buffer or image than SHARING_MODE_EXCLUSIVE
.
Ranges of buffers and image subresources of image objects created using
SHARING_MODE_EXCLUSIVE
must only be accessed by queues in the queue
family that has ownership of the resource. Upon creation, such
resources are not owned by any queue family; ownership is implicitly
acquired upon first use within a queue. Once a resource using
SHARING_MODE_EXCLUSIVE
is owned by some queue family, the application
must perform a
queue family ownership transfer
to make the memory contents of a range or image subresource accessible
to a different queue family.
Note
Images still require a
layout transition
from IMAGE_LAYOUT_UNDEFINED
or
IMAGE_LAYOUT_PREINITIALIZED
before
being used on the first queue.
A queue family can take ownership of an image subresource or buffer
range of a resource created with SHARING_MODE_EXCLUSIVE
, without an
ownership transfer, in the same way as for a resource that was just
created; however, taking ownership in this way has the effect that the
contents of the image subresource or buffer range are undefined.
Ranges of buffers and image subresources of image objects created using
SHARING_MODE_CONCURRENT
must only be accessed by queues from the
queue families specified through the queueFamilyIndexCount
and
pQueueFamilyIndices
members of the corresponding create info
structures.
See Also
BufferCreateInfo
,
ImageCreateInfo
,
PhysicalDeviceImageDrmFormatModifierInfoEXT
,
SwapchainCreateInfoKHR
pattern SHARING_MODE_EXCLUSIVE :: SharingMode |
|
pattern SHARING_MODE_CONCURRENT :: SharingMode |
|