| 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/client/query_tracker.h" | 5 #include "gpu/command_buffer/client/query_tracker.h" |
| 6 | 6 |
| 7 #include <GLES2/gl2.h> | 7 #include <GLES2/gl2.h> |
| 8 #include <GLES2/gl2ext.h> | 8 #include <GLES2/gl2ext.h> |
| 9 #include <GLES2/gl2extchromium.h> | 9 #include <GLES2/gl2extchromium.h> |
| 10 | 10 |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 switch (target()) { | 105 switch (target()) { |
| 106 case GL_GET_ERROR_QUERY_CHROMIUM: | 106 case GL_GET_ERROR_QUERY_CHROMIUM: |
| 107 // To nothing on begin for error queries. | 107 // To nothing on begin for error queries. |
| 108 break; | 108 break; |
| 109 case GL_LATENCY_QUERY_CHROMIUM: | 109 case GL_LATENCY_QUERY_CHROMIUM: |
| 110 client_begin_time_us_ = MicrosecondsSinceOriginOfTime(); | 110 client_begin_time_us_ = MicrosecondsSinceOriginOfTime(); |
| 111 // tell service about id, shared memory and count | 111 // tell service about id, shared memory and count |
| 112 gl->helper()->BeginQueryEXT(target(), id(), shm_id(), shm_offset()); | 112 gl->helper()->BeginQueryEXT(target(), id(), shm_id(), shm_offset()); |
| 113 break; | 113 break; |
| 114 case GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM: | 114 case GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM: |
| 115 case GL_ASYNC_PIXEL_UNPACK_COMPLETED_PRIVATE_CHROMIUM: |
| 115 case GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM: | 116 case GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM: |
| 116 default: | 117 default: |
| 117 // tell service about id, shared memory and count | 118 // tell service about id, shared memory and count |
| 118 gl->helper()->BeginQueryEXT(target(), id(), shm_id(), shm_offset()); | 119 gl->helper()->BeginQueryEXT(target(), id(), shm_id(), shm_offset()); |
| 119 break; | 120 break; |
| 120 } | 121 } |
| 121 } | 122 } |
| 122 | 123 |
| 123 void QueryTracker::Query::End(GLES2Implementation* gl) { | 124 void QueryTracker::Query::End(GLES2Implementation* gl) { |
| 124 switch (target()) { | 125 switch (target()) { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 155 case GL_COMMANDS_ISSUED_CHROMIUM: | 156 case GL_COMMANDS_ISSUED_CHROMIUM: |
| 156 result_ = std::min(info_.sync->result, | 157 result_ = std::min(info_.sync->result, |
| 157 static_cast<uint64>(0xFFFFFFFFL)); | 158 static_cast<uint64>(0xFFFFFFFFL)); |
| 158 break; | 159 break; |
| 159 case GL_LATENCY_QUERY_CHROMIUM: | 160 case GL_LATENCY_QUERY_CHROMIUM: |
| 160 DCHECK(info_.sync->result >= client_begin_time_us_); | 161 DCHECK(info_.sync->result >= client_begin_time_us_); |
| 161 result_ = std::min(info_.sync->result - client_begin_time_us_, | 162 result_ = std::min(info_.sync->result - client_begin_time_us_, |
| 162 static_cast<uint64>(0xFFFFFFFFL)); | 163 static_cast<uint64>(0xFFFFFFFFL)); |
| 163 break; | 164 break; |
| 164 case GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM: | 165 case GL_ASYNC_PIXEL_UNPACK_COMPLETED_CHROMIUM: |
| 166 case GL_ASYNC_PIXEL_UNPACK_COMPLETED_PRIVATE_CHROMIUM: |
| 165 case GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM: | 167 case GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM: |
| 166 default: | 168 default: |
| 167 result_ = info_.sync->result; | 169 result_ = info_.sync->result; |
| 168 break; | 170 break; |
| 169 } | 171 } |
| 170 state_ = kComplete; | 172 state_ = kComplete; |
| 171 } else { | 173 } else { |
| 172 if (!flushed_) { | 174 if (!flushed_) { |
| 173 // TODO(gman): We could reduce the number of flushes by having a | 175 // TODO(gman): We could reduce the number of flushes by having a |
| 174 // flush count, recording that count at the time we insert the | 176 // flush count, recording that count at the time we insert the |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 } | 257 } |
| 256 | 258 |
| 257 query_sync_manager_.Free(query->info_); | 259 query_sync_manager_.Free(query->info_); |
| 258 it = removed_queries_.erase(it); | 260 it = removed_queries_.erase(it); |
| 259 delete query; | 261 delete query; |
| 260 } | 262 } |
| 261 } | 263 } |
| 262 | 264 |
| 263 } // namespace gles2 | 265 } // namespace gles2 |
| 264 } // namespace gpu | 266 } // namespace gpu |
| OLD | NEW |