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

Function Split

layers/sync/sync_access_map.cpp:152–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

150}
151
152AccessMap::iterator Split(AccessMap::iterator in, AccessMap& map, const AccessRange& range) {
153 assert(in != map.end()); // Not designed for use with invalid iterators...
154 const AccessRange in_range = in->first;
155 const AccessRange split_range = in_range & range;
156
157 if (split_range.empty()) {
158 return map.end();
159 }
160 auto pos = in;
161 if (split_range.begin != in_range.begin) {
162 pos = map.Split(pos, split_range.begin);
163 ++pos;
164 }
165 if (split_range.end != in_range.end) {
166 pos = map.Split(pos, split_range.end);
167 }
168 return pos;
169}
170
171void Consolidate(AccessMap& map) {
172 using It = AccessMap::iterator;

Callers 2

ResolveAccessRangeMethod · 0.85

Calls 3

SplitMethod · 0.80
endMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected