| Index: gpu/command_buffer/service/buffer_manager.h | 
| =================================================================== | 
| --- gpu/command_buffer/service/buffer_manager.h	(revision 186458) | 
| +++ gpu/command_buffer/service/buffer_manager.h	(working copy) | 
| @@ -19,8 +19,6 @@ | 
| namespace gles2 { | 
|  | 
| class BufferManager; | 
| -class FeatureInfo; | 
| -class GLES2Decoder; | 
|  | 
| // Info about Buffers currently in the system. | 
| class GPU_EXPORT Buffer : public base::RefCounted<Buffer> { | 
| @@ -31,10 +29,6 @@ | 
| return service_id_; | 
| } | 
|  | 
| -  GLenum target() const { | 
| -    return target_; | 
| -  } | 
| - | 
| GLsizeiptr size() const { | 
| return size_; | 
| } | 
| @@ -43,6 +37,11 @@ | 
| return usage_; | 
| } | 
|  | 
| +  // Sets a range of data for this buffer. Returns false if the offset or size | 
| +  // is out of range. | 
| +  bool SetRange( | 
| +    GLintptr offset, GLsizeiptr size, const GLvoid * data); | 
| + | 
| // Gets the maximum value in the buffer for the given range interpreted as | 
| // the given type. Returns false if offset and count are out of range. | 
| // offset is in bytes. | 
| @@ -61,10 +60,6 @@ | 
| return target() && !IsDeleted(); | 
| } | 
|  | 
| -  bool IsClientSideArray() const { | 
| -    return is_client_side_array_; | 
| -  } | 
| - | 
| private: | 
| friend class BufferManager; | 
| friend class BufferManagerTestBase; | 
| @@ -100,6 +95,10 @@ | 
|  | 
| ~Buffer(); | 
|  | 
| +  GLenum target() const { | 
| +    return target_; | 
| +  } | 
| + | 
| void set_target(GLenum target) { | 
| DCHECK_EQ(target_, 0u);  // you can only set this once. | 
| target_ = target; | 
| @@ -113,17 +112,8 @@ | 
| deleted_ = true; | 
| } | 
|  | 
| -  // Sets the size, usage and initial data of a buffer. | 
| -  // If shadow is true then if data is NULL buffer will be initialized to 0. | 
| -  void SetInfo( | 
| -      GLsizeiptr size, GLenum usage, bool shadow, const GLvoid* data, | 
| -      bool is_client_side_array); | 
| +  void SetInfo(GLsizeiptr size, GLenum usage, bool shadow); | 
|  | 
| -  // Sets a range of data for this buffer. Returns false if the offset or size | 
| -  // is out of range. | 
| -  bool SetRange( | 
| -    GLintptr offset, GLsizeiptr size, const GLvoid * data); | 
| - | 
| // Clears any cache of index ranges. | 
| void ClearCache(); | 
|  | 
| @@ -153,10 +143,6 @@ | 
| // Whether or not the data is shadowed. | 
| bool shadowed_; | 
|  | 
| -  // Whether or not this Buffer is not uploaded to the GPU but just | 
| -  // sitting in local memory. | 
| -  bool is_client_side_array_; | 
| - | 
| // A copy of the data in the buffer. This data is only kept if the target | 
| // is backed_ = true. | 
| scoped_array<int8> shadow_; | 
| @@ -173,7 +159,7 @@ | 
| // shared by multiple GLES2Decoders. | 
| class GPU_EXPORT BufferManager { | 
| public: | 
| -  BufferManager(MemoryTracker* memory_tracker, FeatureInfo* feature_info); | 
| +  BufferManager(MemoryTracker* memory_tracker); | 
| ~BufferManager(); | 
|  | 
| // Must call before destruction. | 
| @@ -191,23 +177,9 @@ | 
| // Gets a client id for a given service id. | 
| bool GetClientId(GLuint service_id, GLuint* client_id) const; | 
|  | 
| -  // Does a glBufferData and updates the approprate accounting. Currently | 
| -  // assume the values have already been validated. | 
| -  void DoBufferData( | 
| -      GLES2Decoder* decoder, | 
| -      Buffer* buffer, | 
| -      GLsizeiptr size, | 
| -      GLenum usage, | 
| -      const GLvoid* data); | 
| +  // Sets the size and usage of a buffer. | 
| +  void SetInfo(Buffer* info, GLsizeiptr size, GLenum usage); | 
|  | 
| -  // Does a glBufferSubData and updates the approrate accounting. | 
| -  void DoBufferSubData( | 
| -      GLES2Decoder* decoder, | 
| -      Buffer* buffer, | 
| -      GLintptr offset, | 
| -      GLsizeiptr size, | 
| -      const GLvoid* data); | 
| - | 
| // Sets the target of a buffer. Returns false if the target can not be set. | 
| bool SetTarget(Buffer* info, GLenum target); | 
|  | 
| @@ -219,20 +191,12 @@ | 
| return memory_tracker_->GetMemRepresented(); | 
| } | 
|  | 
| -  // Tell's for a given usage if this would be a client side array. | 
| -  bool IsUsageClientSideArray(GLenum usage); | 
| - | 
| private: | 
| friend class Buffer; | 
| void StartTracking(Buffer* info); | 
| void StopTracking(Buffer* info); | 
|  | 
| -  // Sets the size, usage and initial data of a buffer. | 
| -  // If data is NULL buffer will be initialized to 0 if shadowed. | 
| -  void SetInfo(Buffer* info, GLsizeiptr size, GLenum usage, const GLvoid* data); | 
| - | 
| scoped_ptr<MemoryTypeTracker> memory_tracker_; | 
| -  scoped_refptr<FeatureInfo> feature_info_; | 
|  | 
| // Info for each buffer in the system. | 
| typedef base::hash_map<GLuint, scoped_refptr<Buffer> > BufferInfoMap; | 
| @@ -246,7 +210,6 @@ | 
| unsigned int buffer_info_count_; | 
|  | 
| bool have_context_; | 
| -  bool use_client_side_arrays_for_stream_buffers_; | 
|  | 
| DISALLOW_COPY_AND_ASSIGN(BufferManager); | 
| }; | 
|  |