Chromium Code Reviews| Index: gpu/command_buffer/client/buffer_tracker.h |
| diff --git a/gpu/command_buffer/client/buffer_tracker.h b/gpu/command_buffer/client/buffer_tracker.h |
| index 3e50364317d234bc9d7ed336c81de4fdbc26d5a4..4aed63f3a8205214cbb92f5995195f2634998ec0 100644 |
| --- a/gpu/command_buffer/client/buffer_tracker.h |
| +++ b/gpu/command_buffer/client/buffer_tracker.h |
| @@ -35,7 +35,9 @@ class GLES2_IMPL_EXPORT BufferTracker { |
| shm_offset_(shm_offset), |
| address_(address), |
| mapped_(false), |
| - transfer_ready_token_(0) { |
| + transfer_ready_token_(0), |
| + last_usage_token_(0), |
| + async_query_id_(0) { |
| } |
| GLenum id() const { |
| @@ -66,12 +68,20 @@ class GLES2_IMPL_EXPORT BufferTracker { |
| return mapped_; |
| } |
| - void set_transfer_ready_token(int token) { |
| - transfer_ready_token_ = token; |
| + void set_last_usage_token(int token) { |
| + last_usage_token_ = token; |
| } |
| - uint32 transfer_ready_token() const { |
| - return transfer_ready_token_; |
| + int last_usage_token() const { |
| + return last_usage_token_; |
| + } |
| + |
| + void set_async_query_id(GLuint async_query_id) { |
| + async_query_id_ = async_query_id; |
| + } |
| + |
| + GLuint async_query_id() const { |
| + return async_query_id_; |
| } |
| private: |
| @@ -83,8 +93,11 @@ class GLES2_IMPL_EXPORT BufferTracker { |
| int32 shm_id_; |
| uint32 shm_offset_; |
| void* address_; |
| - bool mapped_; |
| + bool mapped_ : 1; |
| + bool used_ : 1; |
|
piman
2014/01/16 21:22:50
nit: remove unused field.
|
| int32 transfer_ready_token_; |
| + int32 last_usage_token_; |
| + GLuint async_query_id_; |
| }; |
| BufferTracker(MappedMemoryManager* manager); |
| @@ -96,7 +109,9 @@ class GLES2_IMPL_EXPORT BufferTracker { |
| // Frees the block of memory associated with buffer, pending the passage |
| // of a token. |
| - void FreePendingToken(Buffer*, int32 token); |
| + void FreePendingToken(Buffer* buffer, int32 token); |
| + void FreePendingSerial(Buffer* buffer, uint32 serial); |
| + void Free(Buffer* buffer); |
| private: |
| typedef base::hash_map<GLuint, Buffer*> BufferMap; |