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

Method Retire

layers/core_checks/cc_state_tracker.cpp:1164–1179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1162}
1163
1164void CommandBufferSubState::Retire(uint32_t perf_submit_pass,
1165 const std::function<bool(const QueryObject&)>& is_query_updated_after) {
1166 QueryMap local_query_to_state_map;
1167 VkQueryPool first_pool = VK_NULL_HANDLE;
1168 for (auto& function : query_updates) {
1169 function(base, /*do_validate*/ false, first_pool, perf_submit_pass, &local_query_to_state_map);
1170 }
1171
1172 for (const auto& [query_object, query_state] : local_query_to_state_map) {
1173 if (query_state == QUERYSTATE_ENDED && !is_query_updated_after(query_object)) {
1174 auto query_pool_state = base.dev_data.Get<vvl::QueryPool>(query_object.pool);
1175 if (!query_pool_state) continue;
1176 query_pool_state->SetQueryState(query_object.slot, query_object.perf_pass, QUERYSTATE_AVAILABLE);
1177 }
1178 }
1179}
1180
1181void CommandBufferSubState::Reset(const Location& loc) { ResetCBState(); }
1182

Callers

nothing calls this directly

Calls 4

SetQueryStateMethod · 0.80
UpdatesQueryMethod · 0.80
LockMethod · 0.45
WriteLockMethod · 0.45

Tested by

no test coverage detected