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); |