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