Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Vulkan信号量等待vkCmdCopyBuffer_C++_C_Vulkan - Fatal编程技术网

C++ 使用Vulkan信号量等待vkCmdCopyBuffer

C++ 使用Vulkan信号量等待vkCmdCopyBuffer,c++,c,vulkan,C++,C,Vulkan,我有两个命令缓冲区cb1、cb2,我使用信号量来确保cb2的执行等待cb1的执行。两个命令缓冲区以批方式提交到同一队列 cb1中只有一个vkCmdCopyBuffer命令 信号量是否足以保证cb2仅在vkCmdCopyBuffer完成内存传输后运行,或者我应该在vkCmdCopyBuffer之后的cb1中添加一个barrier命令?通常不需要单个队列中的信号量,它们主要用于跨队列同步。如果在同一批中提交两个命令缓冲区(相同的VkSubmitInfo),实际上,您不能使用信号量,因为信号量在批中的

我有两个命令缓冲区cb1、cb2,我使用信号量来确保cb2的执行等待cb1的执行。两个命令缓冲区以批方式提交到同一队列

cb1中只有一个vkCmdCopyBuffer命令


信号量是否足以保证cb2仅在vkCmdCopyBuffer完成内存传输后运行,或者我应该在vkCmdCopyBuffer之后的cb1中添加一个barrier命令?

通常不需要单个队列中的信号量,它们主要用于跨队列同步。如果在同一批中提交两个命令缓冲区(相同的
VkSubmitInfo
),实际上,您不能使用信号量,因为信号量在批中的任何命令缓冲区启动之前等待,并在批中的所有命令缓冲区完成后发出信号


对于队列中的执行和内存依赖项,通常需要管道屏障或SetEvent/WaitEvent对。

通常不需要单个队列中的信号量,它们主要用于跨队列同步。如果在同一批中提交两个命令缓冲区(相同的
VkSubmitInfo
),实际上,您不能使用信号量,因为信号量在批中的任何命令缓冲区启动之前等待,并在批中的所有命令缓冲区完成后发出信号


对于队列中的执行和内存依赖关系,通常需要管道屏障或SetEvent/WaitEvent对。

Ok信号量仅在多个vksubmit调用之间使用。感谢这一重要的澄清。Ok信号量只能在多个vksubmit调用之间使用。感谢您的重要澄清。