Index: gpu/command_buffer/service/gpu_scheduler.cc |
=================================================================== |
--- gpu/command_buffer/service/gpu_scheduler.cc (revision 113511) |
+++ gpu/command_buffer/service/gpu_scheduler.cc (working copy) |
@@ -29,6 +29,21 @@ |
decoder_(decoder), |
parser_(parser), |
unscheduled_count_(0) { |
+ // Map the ring buffer and create the parser. |
+ if (!parser) { |
+ Buffer ring_buffer = command_buffer_->GetRingBuffer(); |
+ if (ring_buffer.ptr) { |
+ parser_.reset(new CommandParser(ring_buffer.ptr, |
+ ring_buffer.size, |
+ 0, |
+ ring_buffer.size, |
+ 0, |
+ decoder_)); |
+ } else { |
+ parser_.reset(new CommandParser(NULL, 0, 0, 0, 0, |
+ decoder_)); |
+ } |
+ } |
} |
GpuScheduler::~GpuScheduler() { |
@@ -135,26 +150,6 @@ |
command_buffer_->SetToken(token); |
} |
-bool GpuScheduler::SetGetBuffer(int32 transfer_buffer_id) { |
- Buffer ring_buffer = command_buffer_->GetTransferBuffer(transfer_buffer_id); |
- if (!ring_buffer.ptr) { |
- return false; |
- } |
- |
- if (!parser_.get()) { |
- parser_.reset(new CommandParser(decoder_)); |
- } |
- |
- parser_->SetBuffer( |
- ring_buffer.ptr, |
- ring_buffer.size, |
- 0, |
- ring_buffer.size); |
- |
- SetGetOffset(0); |
- return true; |
-} |
- |
bool GpuScheduler::SetGetOffset(int32 offset) { |
if (parser_->set_get(offset)) { |
command_buffer_->SetGetOffset(static_cast<int32>(parser_->get())); |