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

Method AddWriteBarrier

layers/sync/sync_access_state.cpp:735–752  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

733}
734
735void PendingBarriers::AddWriteBarrier(AccessState* access_state, const SyncBarrier& barrier) {
736 size_t barrier_index = 0;
737 for (; barrier_index < write_barriers.size(); barrier_index++) {
738 const PendingWriteBarrier& pending = write_barriers[barrier_index];
739 if (pending.barriers == barrier.dst_access_scope && pending.dependency_chain == barrier.dst_exec_scope.exec_scope) {
740 break;
741 }
742 }
743 if (barrier_index == write_barriers.size()) {
744 PendingWriteBarrier& pending = write_barriers.emplace_back();
745 pending.barriers = barrier.dst_access_scope;
746 pending.dependency_chain = barrier.dst_exec_scope.exec_scope;
747 }
748 PendingBarrierInfo& info = infos.emplace_back();
749 info.type = PendingBarrierType::WriteAccessBarrier;
750 info.index = (uint32_t)barrier_index;
751 info.access_state = access_state;
752}
753
754void PendingBarriers::AddLayoutTransition(AccessState* access_state, const OrderingBarrier& layout_transition_ordering_barrier,
755 uint32_t layout_transition_handle_index) {

Callers 2

ApplyBarriersFunction · 0.80

Calls 2

emplace_backMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected