Is there actually any remaining use for
VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR? Or can
be used in its stead in all cases?
Skimming throught the specification, I found the following:
vkCmdCopyQueryPoolResults is considered to be a transfer operation, and its writes to buffer memory
must be synchronized using
But I guess that
vkCmdCopyQueryPoolResults would qualify as a
VK_PIPELINE_STAGE_2_COPY_BIT_KHR operation, wouldn’t it? (It doesn’t say so in the specification, though)
Other than that, I can only find it in the context of image layout transitions:
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL must only be used as a source image of a transfer
command (see the definition of
There aren’t many useful mentions in the whole specification other than these two ^. And
VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR is actually not even mentioned in any description at all.
So, are maybe image layout transitions the only remaining
TRANSFER operations with
STAGE_2_TRANSFER has the same value as
STAGE_2_ALL_TRANSFER, which also has the same value as
STAGE_TRANSFER. The specification states that the bits corresponding to the old bits have the same behavior as the old bits:
VkPipelineStageFlags2KHR bitmask goes beyond the 31 individual bit flags allowable within a C99 enum, which is how
VkPipelineStageFlagBits is defined. The first 31 values are common to both, and are interchangeable.
So if something mentions
STAGE_TRANSFER, then it behaves exactly like
Yes, it does. It says so right in the definition of the bit:
VK_PIPELINE_STAGE_2_COPY_BIT_KHR specifies the execution of all copy commands, including
Oh, I completely missed that
STAGE_2_TRANSFER have the same value. I still wonder, though, if we should just get rid of the
VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR flag and only use
VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR. This would make things clearer, wouldn’t it?
Or are there actually any transfer commands which can not be assigned to one of the more precisely defined
I see. I was hoping to see the new Synchronization2-stages also mentioned in the commands’ descriptions. But since they are “just” an extension, that might not happen at all places where the specification refers to classical stages.
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.