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