| Index: gpu/command_buffer/service/command_buffer_service.cc
|
| diff --git a/gpu/command_buffer/service/command_buffer_service.cc b/gpu/command_buffer/service/command_buffer_service.cc
|
| index ec9facb23331dd123e3ee2b831af4ed4e288293d..3e6a92c320b62c1c85c411cccfb0833bdcf6a92a 100644
|
| --- a/gpu/command_buffer/service/command_buffer_service.cc
|
| +++ b/gpu/command_buffer/service/command_buffer_service.cc
|
| @@ -42,24 +42,24 @@ class MemoryBufferBacking : public BufferBacking {
|
| CommandBufferService::CommandBufferService(
|
| TransferBufferManagerInterface* transfer_buffer_manager)
|
| : ring_buffer_id_(-1),
|
| - shared_state_(NULL),
|
| + shared_state_(nullptr),
|
| num_entries_(0),
|
| get_offset_(0),
|
| put_offset_(0),
|
| transfer_buffer_manager_(transfer_buffer_manager),
|
| token_(0),
|
| + release_count_(0),
|
| generation_(0),
|
| error_(error::kNoError),
|
| - context_lost_reason_(error::kUnknown) {
|
| -}
|
| + context_lost_reason_(error::kUnknown) {}
|
|
|
| -CommandBufferService::~CommandBufferService() {
|
| -}
|
| +CommandBufferService::~CommandBufferService() {}
|
|
|
| CommandBufferService::State CommandBufferService::GetLastState() {
|
| State state;
|
| state.get_offset = get_offset_;
|
| state.token = token_;
|
| + state.release_count = release_count_;
|
| state.error = error_;
|
| state.context_lost_reason = context_lost_reason_;
|
| state.generation = ++generation_;
|
| @@ -67,10 +67,6 @@ CommandBufferService::State CommandBufferService::GetLastState() {
|
| return state;
|
| }
|
|
|
| -int32_t CommandBufferService::GetLastToken() {
|
| - return GetLastState().token;
|
| -}
|
| -
|
| void CommandBufferService::UpdateState() {
|
| if (shared_state_) {
|
| CommandBufferService::State state = GetLastState();
|
| @@ -78,12 +74,17 @@ void CommandBufferService::UpdateState() {
|
| }
|
| }
|
|
|
| -void CommandBufferService::WaitForTokenInRange(int32_t start, int32_t end) {
|
| +CommandBuffer::State CommandBufferService::WaitForTokenInRange(int32_t start,
|
| + int32_t end) {
|
| DCHECK(error_ != error::kNoError || InRange(start, end, token_));
|
| + return GetLastState();
|
| }
|
|
|
| -void CommandBufferService::WaitForGetOffsetInRange(int32_t start, int32_t end) {
|
| +CommandBuffer::State CommandBufferService::WaitForGetOffsetInRange(
|
| + int32_t start,
|
| + int32_t end) {
|
| DCHECK(error_ != error::kNoError || InRange(start, end, get_offset_));
|
| + return GetLastState();
|
| }
|
|
|
| void CommandBufferService::Flush(int32_t put_offset) {
|
| @@ -136,6 +137,12 @@ void CommandBufferService::SetGetOffset(int32_t get_offset) {
|
| get_offset_ = get_offset;
|
| }
|
|
|
| +void CommandBufferService::SetReleaseCount(uint64_t release_count) {
|
| + DCHECK(release_count >= release_count_);
|
| + release_count_ = release_count;
|
| + UpdateState();
|
| +}
|
| +
|
| scoped_refptr<Buffer> CommandBufferService::CreateTransferBuffer(size_t size,
|
| int32_t* id) {
|
| static int32_t next_id = 1;
|
| @@ -181,7 +188,6 @@ scoped_refptr<Buffer> CommandBufferService::CreateTransferBufferWithId(
|
| return GetTransferBuffer(id);
|
| }
|
|
|
| -
|
| void CommandBufferService::SetToken(int32_t token) {
|
| token_ = token;
|
| UpdateState();
|
|
|