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..b60562c7949bbf8ad66326388f346aa5b73f14c7 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 { |
| @@ -74,6 +76,30 @@ class GLES2_IMPL_EXPORT BufferTracker { |
| return transfer_ready_token_; |
| } |
| + void set_used(bool used) { |
|
piman
2014/01/11 02:02:32
What does used mean exactly?
jadahl
2014/01/11 11:35:29
It's mean to be used for keeping track if a buffer
|
| + used_ = used; |
| + } |
| + |
| + bool used() const { |
| + return used_; |
| + } |
| + |
| + void set_last_usage_token(int token) { |
| + last_usage_token_ = 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: |
| friend class BufferTracker; |
| friend class BufferTrackerTest; |
| @@ -83,8 +109,11 @@ class GLES2_IMPL_EXPORT BufferTracker { |
| int32 shm_id_; |
| uint32 shm_offset_; |
| void* address_; |
| - bool mapped_; |
| + bool mapped_ : 1; |
| + bool used_ : 1; |
| int32 transfer_ready_token_; |
| + int32 last_usage_token_; |
| + GLuint async_query_id_; |
| }; |
| BufferTracker(MappedMemoryManager* manager); |
| @@ -96,7 +125,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; |