| Index: gpu/command_buffer/client/cmd_buffer_helper.cc
 | 
| diff --git a/gpu/command_buffer/client/cmd_buffer_helper.cc b/gpu/command_buffer/client/cmd_buffer_helper.cc
 | 
| index 632892313f2f9f55b36f1fc825dcde8cbf0ced85..d43efc343cbea3fcd4a8348c11d57cb097a7bc65 100644
 | 
| --- a/gpu/command_buffer/client/cmd_buffer_helper.cc
 | 
| +++ b/gpu/command_buffer/client/cmd_buffer_helper.cc
 | 
| @@ -17,6 +17,8 @@ const double kFlushDelay = 1.0 / (5.0 * 60.0);
 | 
|  
 | 
|  CommandBufferHelper::CommandBufferHelper(CommandBuffer* command_buffer)
 | 
|      : command_buffer_(command_buffer),
 | 
| +      ring_buffer_id_(-1),
 | 
| +      ring_buffer_size_(0),
 | 
|        entries_(NULL),
 | 
|        total_entry_count_(0),
 | 
|        usable_entry_count_(0),
 | 
| @@ -27,14 +29,25 @@ CommandBufferHelper::CommandBufferHelper(CommandBuffer* command_buffer)
 | 
|        last_flush_time_(0) {
 | 
|  }
 | 
|  
 | 
| -bool CommandBufferHelper::Initialize(int32 ring_buffer_size) {
 | 
| -  ring_buffer_ = command_buffer_->GetRingBuffer();
 | 
| +bool CommandBufferHelper::AllocateRingBuffer() {
 | 
| +  int32 id = command_buffer_->CreateTransferBuffer(ring_buffer_size_, -1);
 | 
| +  if (id < 0) {
 | 
| +    return false;
 | 
| +  }
 | 
| +
 | 
| +  ring_buffer_ = command_buffer_->GetTransferBuffer(id);
 | 
|    if (!ring_buffer_.ptr)
 | 
|      return false;
 | 
|  
 | 
| +  ring_buffer_id_ = id;
 | 
| +  command_buffer_->SetGetBuffer(id);
 | 
| +
 | 
| +  // TODO(gman): Do we really need to call GetState here? We know get & put = 0
 | 
| +  // Also do we need to check state.num_entries?
 | 
|    CommandBuffer::State state = command_buffer_->GetState();
 | 
|    entries_ = static_cast<CommandBufferEntry*>(ring_buffer_.ptr);
 | 
| -  int32 num_ring_buffer_entries = ring_buffer_size / sizeof(CommandBufferEntry);
 | 
| +  int32 num_ring_buffer_entries =
 | 
| +      ring_buffer_size_ / sizeof(CommandBufferEntry);
 | 
|    if (num_ring_buffer_entries > state.num_entries) {
 | 
|      return false;
 | 
|    }
 | 
| @@ -48,6 +61,11 @@ bool CommandBufferHelper::Initialize(int32 ring_buffer_size) {
 | 
|    return true;
 | 
|  }
 | 
|  
 | 
| +bool CommandBufferHelper::Initialize(int32 ring_buffer_size) {
 | 
| +  ring_buffer_size_ = ring_buffer_size;
 | 
| +  return AllocateRingBuffer();
 | 
| +}
 | 
| +
 | 
|  CommandBufferHelper::~CommandBufferHelper() {
 | 
|  }
 | 
|  
 | 
| 
 |