MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / SyncOpPipelineBarrier

Method SyncOpPipelineBarrier

layers/sync/sync_op.cpp:335–351  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

333}
334
335SyncOpPipelineBarrier::SyncOpPipelineBarrier(vvl::Func command, const SyncValidator& sync_state, VkQueueFlags queue_flags,
336 VkPipelineStageFlags src_stage_mask, VkPipelineStageFlags dst_stage_mask,
337 uint32_t memory_barrier_count, const VkMemoryBarrier* memory_barriers,
338 uint32_t buffer_barrier_count, const VkBufferMemoryBarrier* buffer_barriers,
339 uint32_t image_barrier_count, const VkImageMemoryBarrier* image_barriers)
340 : SyncOpBase(command) {
341 const auto src_exec_scope = SyncExecScope::MakeSrc(queue_flags, src_stage_mask);
342 const auto dst_exec_scope = SyncExecScope::MakeDst(queue_flags, dst_stage_mask);
343
344 barrier_set_.src_exec_scope = src_exec_scope;
345 barrier_set_.dst_exec_scope = dst_exec_scope;
346
347 barrier_set_.MakeMemoryBarriers(src_exec_scope, dst_exec_scope, memory_barrier_count, memory_barriers);
348 barrier_set_.MakeBufferMemoryBarriers(sync_state, src_exec_scope, dst_exec_scope, buffer_barrier_count, buffer_barriers);
349 barrier_set_.MakeImageMemoryBarriers(sync_state, src_exec_scope, dst_exec_scope, image_barrier_count, image_barriers,
350 sync_state.device_state->extensions);
351}
352
353SyncOpPipelineBarrier::SyncOpPipelineBarrier(vvl::Func command, const SyncValidator& sync_state, VkQueueFlags queue_flags,
354 const VkDependencyInfo& dep_info)

Callers

nothing calls this directly

Calls 4

GetExecScopesFunction · 0.85
MakeMemoryBarriersMethod · 0.80

Tested by

no test coverage detected