| Index: gpu/command_buffer/service/command_buffer_service.cc
|
| ===================================================================
|
| --- gpu/command_buffer/service/command_buffer_service.cc (revision 37414)
|
| +++ gpu/command_buffer/service/command_buffer_service.cc (working copy)
|
| @@ -17,8 +17,7 @@
|
| get_offset_(0),
|
| put_offset_(0),
|
| token_(0),
|
| - parse_error_(0),
|
| - error_status_(false) {
|
| + error_(parse_error::kParseNoError) {
|
| // Element zero is always NULL.
|
| registered_objects_.push_back(linked_ptr<SharedMemory>());
|
| }
|
| @@ -54,13 +53,22 @@
|
| return buffer;
|
| }
|
|
|
| -int32 CommandBufferService::GetSize() {
|
| - return size_;
|
| +CommandBufferService::State CommandBufferService::GetState() {
|
| + State state;
|
| + state.size = size_;
|
| + state.get_offset = get_offset_;
|
| + state.put_offset = put_offset_;
|
| + state.token = token_;
|
| + state.error = error_;
|
| +
|
| + return state;
|
| }
|
|
|
| -int32 CommandBufferService::SyncOffsets(int32 put_offset) {
|
| - if (put_offset < 0 || put_offset >= size_)
|
| - return -1;
|
| +CommandBufferService::State CommandBufferService::Flush(int32 put_offset) {
|
| + if (put_offset < 0 || put_offset >= size_) {
|
| + error_ = gpu::parse_error::kParseOutOfBounds;
|
| + return GetState();
|
| + }
|
|
|
| put_offset_ = put_offset;
|
|
|
| @@ -68,22 +76,14 @@
|
| put_offset_change_callback_->Run();
|
| }
|
|
|
| - return get_offset_;
|
| + return GetState();
|
| }
|
|
|
| -int32 CommandBufferService::GetGetOffset() {
|
| - return get_offset_;
|
| -}
|
| -
|
| void CommandBufferService::SetGetOffset(int32 get_offset) {
|
| DCHECK(get_offset >= 0 && get_offset < size_);
|
| get_offset_ = get_offset;
|
| }
|
|
|
| -int32 CommandBufferService::GetPutOffset() {
|
| - return put_offset_;
|
| -}
|
| -
|
| int32 CommandBufferService::CreateTransferBuffer(size_t size) {
|
| linked_ptr<SharedMemory> buffer(new SharedMemory);
|
| if (!buffer->Create(std::wstring(), false, false, size))
|
| @@ -150,34 +150,16 @@
|
| return buffer;
|
| }
|
|
|
| -int32 CommandBufferService::GetToken() {
|
| - return token_;
|
| -}
|
| -
|
| void CommandBufferService::SetToken(int32 token) {
|
| token_ = token;
|
| }
|
|
|
| -int32 CommandBufferService::ResetParseError() {
|
| - int32 last_error = parse_error_;
|
| - parse_error_ = 0;
|
| - return last_error;
|
| -}
|
| -
|
| -void CommandBufferService::SetParseError(int32 parse_error) {
|
| - if (parse_error_ == 0) {
|
| - parse_error_ = parse_error;
|
| +void CommandBufferService::SetParseError(parse_error::ParseError error) {
|
| + if (error_ == parse_error::kParseNoError) {
|
| + error_ = error;
|
| }
|
| }
|
|
|
| -bool CommandBufferService::GetErrorStatus() {
|
| - return error_status_;
|
| -}
|
| -
|
| -void CommandBufferService::RaiseErrorStatus() {
|
| - error_status_ = true;
|
| -}
|
| -
|
| void CommandBufferService::SetPutOffsetChangeCallback(
|
| Callback0::Type* callback) {
|
| put_offset_change_callback_.reset(callback);
|
|
|