Chromium Code Reviews| Index: gpu/command_buffer/service/query_manager.cc |
| diff --git a/gpu/command_buffer/service/query_manager.cc b/gpu/command_buffer/service/query_manager.cc |
| index 30c036ed98d02dc0b211b5b999b7611bfd2b2a9b..8d658683912f5cee6c5a1cf53433958e0c84f094 100644 |
| --- a/gpu/command_buffer/service/query_manager.cc |
| +++ b/gpu/command_buffer/service/query_manager.cc |
| @@ -512,6 +512,18 @@ QueryManager::Query* QueryManager::CreateQuery( |
| return query.get(); |
| } |
| +void QueryManager::GenQueries(GLsizei n, const GLuint* queries) { |
| + DCHECK_GE(n, 0); |
| + for (GLsizei i = 0; i < n; ++i) { |
| + generated_query_ids_.insert(queries[i]); |
| + } |
| +} |
| + |
| +bool QueryManager::IsValidQuery(GLuint id) { |
| + GeneratedQueryIds::iterator it = generated_query_ids_.find(id); |
| + return it != generated_query_ids_.end() ? true : false; |
|
piman
2014/04/22 00:37:31
'? true : false' doesn't add anything. Just return
|
| +} |
| + |
| QueryManager::Query* QueryManager::GetQuery( |
| GLuint client_id) { |
| QueryMap::iterator it = queries_.find(client_id); |
| @@ -522,6 +534,7 @@ void QueryManager::RemoveQuery(GLuint client_id) { |
| QueryMap::iterator it = queries_.find(client_id); |
| if (it != queries_.end()) { |
| Query* query = it->second.get(); |
| + generated_query_ids_.erase(client_id); |
|
piman
2014/04/22 00:37:31
According to spec, this must be removed in DeleteQ
rptr
2014/04/22 05:43:18
Done.
|
| RemovePendingQuery(query); |
| query->MarkAsDeleted(); |
| queries_.erase(it); |