| 1162 | } |
| 1163 | |
| 1164 | void 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 | |
| 1181 | void CommandBufferSubState::Reset(const Location& loc) { ResetCBState(); } |
| 1182 |
nothing calls this directly
no test coverage detected