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

Method MakeBufferMemoryBarriers

layers/sync/sync_op.cpp:265–275  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

263}
264
265void BarrierSet::MakeBufferMemoryBarriers(const SyncValidator& sync_state, const SyncExecScope& src, const SyncExecScope& dst,
266 uint32_t barrier_count, const VkBufferMemoryBarrier* barriers) {
267 buffer_barriers.reserve(barrier_count);
268 for (const VkBufferMemoryBarrier& barrier : vvl::make_span(barriers, barrier_count)) {
269 if (auto buffer = sync_state.Get<vvl::Buffer>(barrier.buffer)) {
270 const auto range = MakeRange(*buffer, barrier.offset, barrier.size);
271 const SyncBarrier sync_barrier(src, barrier.srcAccessMask, dst, barrier.dstAccessMask);
272 buffer_barriers.emplace_back(buffer, sync_barrier, range);
273 }
274 }
275}
276
277void BarrierSet::MakeBufferMemoryBarriers(const SyncValidator& sync_state, VkQueueFlags queue_flags, uint32_t barrier_count,
278 const VkBufferMemoryBarrier2* barriers) {

Callers 2

SyncOpPipelineBarrierMethod · 0.80
SyncOpWaitEventsMethod · 0.80

Calls 4

make_spanFunction · 0.85
emplace_backMethod · 0.80
MakeRangeFunction · 0.70
reserveMethod · 0.45

Tested by

no test coverage detected