Index: gpu/command_buffer/service/gpu_processor.cc |
=================================================================== |
--- gpu/command_buffer/service/gpu_processor.cc (revision 37414) |
+++ gpu/command_buffer/service/gpu_processor.cc (working copy) |
@@ -32,7 +32,8 @@ |
} |
void GPUProcessor::ProcessCommands() { |
- if (command_buffer_->GetErrorStatus()) |
+ CommandBuffer::State state = command_buffer_->GetState(); |
+ if (state.error != parse_error::kParseNoError) |
return; |
if (decoder_.get()) { |
@@ -41,26 +42,15 @@ |
return; |
} |
- parser_->set_put(command_buffer_->GetPutOffset()); |
+ parser_->set_put(state.put_offset); |
int commands_processed = 0; |
while (commands_processed < commands_per_update_ && !parser_->IsEmpty()) { |
parse_error::ParseError parse_error = parser_->ProcessCommand(); |
- switch (parse_error) { |
- case parse_error::kParseUnknownCommand: |
- case parse_error::kParseInvalidArguments: |
- command_buffer_->SetParseError(parse_error); |
- break; |
- |
- case parse_error::kParseInvalidSize: |
- case parse_error::kParseOutOfBounds: |
- command_buffer_->SetParseError(parse_error); |
- command_buffer_->RaiseErrorStatus(); |
- return; |
- case gpu::parse_error::kParseNoError: |
- break; |
+ if (parse_error != parse_error::kParseNoError) { |
+ command_buffer_->SetParseError(parse_error); |
+ return; |
} |
- |
++commands_processed; |
} |