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

Method InfillGaps

layers/sync/sync_access_map.cpp:99–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

97}
98
99void AccessMap::InfillGaps(const AccessRange& range, const AccessState& access_state) {
100 AccessMapLocator pos(*this, range.begin);
101 while (range.includes(pos.index)) {
102 if (!pos.inside_lower_bound_range) {
103 if (pos.lower_bound == end() || range.end <= pos.lower_bound->first.begin) {
104 const AccessRange gap_range(pos.index, range.end);
105 impl_map_.insert(pos.lower_bound, {gap_range, access_state});
106 return; // reached range.end
107 } else {
108 const AccessRange gap_range(pos.index, pos.lower_bound->first.begin);
109 impl_map_.insert(pos.lower_bound, {gap_range, access_state});
110 pos.Seek(pos.lower_bound->first.end);
111 }
112 } else {
113 pos.Seek(pos.lower_bound->first.end);
114 }
115 }
116}
117
118AccessMap::iterator AccessMap::Split(const iterator split_it, const index_type& index) {
119 const auto range = split_it->first;

Callers 1

Calls 3

includesMethod · 0.45
insertMethod · 0.45
SeekMethod · 0.45

Tested by

no test coverage detected