OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "gpu/command_buffer/service/query_manager.h" | 5 #include "gpu/command_buffer/service/query_manager.h" |
6 #include "base/atomicops.h" | 6 #include "base/atomicops.h" |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/time.h" | 8 #include "base/time.h" |
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" | 9 #include "gpu/command_buffer/common/gles2_cmd_format.h" |
10 #include "gpu/command_buffer/service/common_decoder.h" | 10 #include "gpu/command_buffer/service/common_decoder.h" |
11 | 11 |
12 namespace gpu { | 12 namespace gpu { |
13 namespace gles2 { | 13 namespace gles2 { |
14 | 14 |
15 class AllSamplesPassedQuery : public QueryManager::Query { | 15 class AllSamplesPassedQuery : public QueryManager::Query { |
16 public: | 16 public: |
17 AllSamplesPassedQuery( | 17 AllSamplesPassedQuery( |
18 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset, | 18 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset, |
19 GLuint service_id); | 19 GLuint service_id); |
20 virtual ~AllSamplesPassedQuery(); | |
21 virtual bool Begin() OVERRIDE; | 20 virtual bool Begin() OVERRIDE; |
22 virtual bool End(uint32 submit_count) OVERRIDE; | 21 virtual bool End(uint32 submit_count) OVERRIDE; |
23 virtual bool Process() OVERRIDE; | 22 virtual bool Process() OVERRIDE; |
24 virtual void Destroy(bool have_context) OVERRIDE; | 23 virtual void Destroy(bool have_context) OVERRIDE; |
25 | 24 |
26 private: | 25 private: |
| 26 virtual ~AllSamplesPassedQuery(); |
| 27 |
27 // Service side query id. | 28 // Service side query id. |
28 GLuint service_id_; | 29 GLuint service_id_; |
29 }; | 30 }; |
30 | 31 |
31 AllSamplesPassedQuery::AllSamplesPassedQuery( | 32 AllSamplesPassedQuery::AllSamplesPassedQuery( |
32 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset, | 33 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset, |
33 GLuint service_id) | 34 GLuint service_id) |
34 : Query(manager, target, shm_id, shm_offset), | 35 : Query(manager, target, shm_id, shm_offset), |
35 service_id_(service_id) { | 36 service_id_(service_id) { |
36 } | 37 } |
(...skipping 29 matching lines...) Expand all Loading... |
66 glGetQueryObjectuivARB( | 67 glGetQueryObjectuivARB( |
67 service_id_, GL_QUERY_RESULT_EXT, &result); | 68 service_id_, GL_QUERY_RESULT_EXT, &result); |
68 | 69 |
69 return MarkAsCompleted(result); | 70 return MarkAsCompleted(result); |
70 } | 71 } |
71 | 72 |
72 class CommandsIssuedQuery : public QueryManager::Query { | 73 class CommandsIssuedQuery : public QueryManager::Query { |
73 public: | 74 public: |
74 CommandsIssuedQuery( | 75 CommandsIssuedQuery( |
75 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset); | 76 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset); |
76 virtual ~CommandsIssuedQuery(); | |
77 | 77 |
78 virtual bool Begin() OVERRIDE; | 78 virtual bool Begin() OVERRIDE; |
79 virtual bool End(uint32 submit_count) OVERRIDE; | 79 virtual bool End(uint32 submit_count) OVERRIDE; |
80 virtual bool Process() OVERRIDE; | 80 virtual bool Process() OVERRIDE; |
81 virtual void Destroy(bool have_context) OVERRIDE; | 81 virtual void Destroy(bool have_context) OVERRIDE; |
82 | 82 |
83 private: | 83 private: |
| 84 virtual ~CommandsIssuedQuery(); |
| 85 |
84 base::TimeTicks begin_time_; | 86 base::TimeTicks begin_time_; |
85 }; | 87 }; |
86 | 88 |
87 CommandsIssuedQuery::CommandsIssuedQuery( | 89 CommandsIssuedQuery::CommandsIssuedQuery( |
88 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset) | 90 QueryManager* manager, GLenum target, int32 shm_id, uint32 shm_offset) |
89 : Query(manager, target, shm_id, shm_offset) { | 91 : Query(manager, target, shm_id, shm_offset) { |
90 } | 92 } |
91 | 93 |
92 CommandsIssuedQuery::~CommandsIssuedQuery() { | 94 CommandsIssuedQuery::~CommandsIssuedQuery() { |
93 } | 95 } |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 if (!RemovePendingQuery(query)) { | 308 if (!RemovePendingQuery(query)) { |
307 return false; | 309 return false; |
308 } | 310 } |
309 return query->End(submit_count); | 311 return query->End(submit_count); |
310 } | 312 } |
311 | 313 |
312 } // namespace gles2 | 314 } // namespace gles2 |
313 } // namespace gpu | 315 } // namespace gpu |
314 | 316 |
315 | 317 |
OLD | NEW |