您的位置:首页 > Web前端

vulkan同步机制之——Fence & Barriers

2016-07-14 11:05 1786 查看
vulkan提供了四个基本的同步机制:

• Fences

• Semaphores

• Events

• Barriers

Fence的作用是对两个有依赖关系的的command 的执行进行控制,比如一个计算: (1)B = D + C; (2) res = A * B, 在计算 res时,必须要先保证B合法的求解完毕,fence的作用正是保证在(1)求解完之前(2)不会求解

Barriers 的名称很好的描述了barries的作用,barriers是控制一系列的执行和读写命令的同步的,比如(1)B = C + D + E + F + ……+ X,其中每一个加数都要计算出来,这时候就使用barriers保证每一个加数都计算出来之后(1)过程才开始执行

fence 的使用:

VkResult vkQueueSubmit(
VkQueue queue,
uint32_t submitCount,
const VkSubmitInfo* pSubmits,
VkFence fence);如果fence不是VK_NULL_HANDLE,在VkSubmitInfo::pCommandBuffers 中record的所有command执行完之后,fence就会成为:signaled。 当submitted的command为0时,在submitted的前期工作做完后,fence仍会变成singled
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息