| 52 | } |
| 53 | |
| 54 | void QueryPool::SetQueryState(uint32_t query, uint32_t perf_pass, QueryState state) { |
| 55 | auto guard = WriteLock(); |
| 56 | assert(query < query_states_.size()); |
| 57 | assert((n_performance_passes == 0 && perf_pass == 0) || (perf_pass < n_performance_passes)); |
| 58 | if (state == QUERYSTATE_RESET) { |
| 59 | for (auto& state : query_states_[query]) { |
| 60 | state = QUERYSTATE_RESET; |
| 61 | } |
| 62 | } else { |
| 63 | query_states_[query][perf_pass] = state; |
| 64 | } |
| 65 | } |
| 66 | QueryState QueryPool::GetQueryState(uint32_t query, uint32_t perf_pass) const { |
| 67 | auto guard = ReadLock(); |
| 68 | // this method can get called with invalid arguments during validation |
no test coverage detected