| Index: gpu/command_buffer/service/buffer_manager.h
|
| diff --git a/gpu/command_buffer/service/buffer_manager.h b/gpu/command_buffer/service/buffer_manager.h
|
| index 845824c56679ceaf6cfce6d27ddd8a8e5cc34a9f..bb69e7dfe0c2f2603a82f662b039868c4f0a0de4 100644
|
| --- a/gpu/command_buffer/service/buffer_manager.h
|
| +++ b/gpu/command_buffer/service/buffer_manager.h
|
| @@ -78,8 +78,9 @@
|
| // Check if an offset, size range is valid for the current buffer.
|
| bool CheckRange(GLintptr offset, GLsizeiptr size) const;
|
|
|
| - // Sets a range of this buffer's shadowed data.
|
| - void SetRange(GLintptr offset, GLsizeiptr size, const GLvoid * data);
|
| + // Sets a range of this buffer's shadowed data. Returns false if offset/size
|
| + // is out of range.
|
| + bool SetRange(GLintptr offset, GLsizeiptr size, const GLvoid * data);
|
|
|
| bool IsDeleted() const {
|
| return deleted_;
|
| @@ -95,8 +96,15 @@
|
|
|
| void SetMappedRange(GLintptr offset, GLsizeiptr size, GLenum access,
|
| void* pointer, scoped_refptr<gpu::Buffer> shm,
|
| - unsigned int shm_offset);
|
| - void RemoveMappedRange();
|
| + unsigned int shm_offset) {
|
| + mapped_range_.reset(
|
| + new MappedRange(offset, size, access, pointer, shm, shm_offset));
|
| + }
|
| +
|
| + void RemoveMappedRange() {
|
| + mapped_range_.reset(nullptr);
|
| + }
|
| +
|
| const MappedRange* GetMappedRange() const {
|
| return mapped_range_.get();
|
| }
|
| @@ -298,30 +306,6 @@
|
| bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
|
| base::trace_event::ProcessMemoryDump* pmd) override;
|
|
|
| - // Validate if a buffer is bound at target, if it's unmapped, if it's
|
| - // large enough. Return the buffer bound to |target| if access is granted;
|
| - // return nullptr if a GL error is generated.
|
| - Buffer* RequestBufferAccess(ContextState* context_state,
|
| - GLenum target,
|
| - GLintptr offset,
|
| - GLsizeiptr size,
|
| - const char* func_name);
|
| - // Same as above, but assume to access the entire buffer.
|
| - Buffer* RequestBufferAccess(ContextState* context_state,
|
| - GLenum target,
|
| - const char* func_name);
|
| - // Same as above, but it can be any buffer rather than the buffer bound to
|
| - // |target|. Return true if access is granted; return false if a GL error is
|
| - // generated.
|
| - bool RequestBufferAccess(ErrorState* error_state,
|
| - Buffer* buffer,
|
| - const char* func_name,
|
| - const char* message_tag);
|
| -
|
| - uint32_t mapped_buffer_count() const {
|
| - return mapped_buffer_count_;
|
| - }
|
| -
|
| private:
|
| friend class Buffer;
|
| friend class TestHelper; // Needs access to DoBufferData.
|
| @@ -334,6 +318,7 @@
|
| // Does a glBufferSubData and updates the appropriate accounting.
|
| // Assumes the values have already been validated.
|
| void DoBufferSubData(
|
| + ErrorState* error_state,
|
| Buffer* buffer,
|
| GLenum target,
|
| GLintptr offset,
|
| @@ -372,9 +357,6 @@
|
| GLenum usage,
|
| bool use_shadow);
|
|
|
| - void IncreaseMappedBufferCount();
|
| - void DecreaseMappedBufferCount();
|
| -
|
| std::unique_ptr<MemoryTypeTracker> memory_type_tracker_;
|
| MemoryTracker* memory_tracker_;
|
| scoped_refptr<FeatureInfo> feature_info_;
|
| @@ -401,10 +383,6 @@
|
| bool lost_context_;
|
| bool use_client_side_arrays_for_stream_buffers_;
|
|
|
| - // Keep track of total mapped buffer count. In most use cases it should be 0,
|
| - // so we could bypass checking each individual buffer as an optimization.
|
| - uint32_t mapped_buffer_count_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(BufferManager);
|
| };
|
|
|
|
|