OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "gpu/command_buffer/service/common_decoder.h" | 5 #include "gpu/command_buffer/service/common_decoder.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 void* CommonDecoder::GetAddressAndCheckSize(unsigned int shm_id, | 130 void* CommonDecoder::GetAddressAndCheckSize(unsigned int shm_id, |
131 unsigned int data_offset, | 131 unsigned int data_offset, |
132 unsigned int data_size) { | 132 unsigned int data_size) { |
133 CHECK(engine_); | 133 CHECK(engine_); |
134 scoped_refptr<gpu::Buffer> buffer = engine_->GetSharedMemoryBuffer(shm_id); | 134 scoped_refptr<gpu::Buffer> buffer = engine_->GetSharedMemoryBuffer(shm_id); |
135 if (!buffer.get()) | 135 if (!buffer.get()) |
136 return NULL; | 136 return NULL; |
137 return buffer->GetDataAddress(data_offset, data_size); | 137 return buffer->GetDataAddress(data_offset, data_size); |
138 } | 138 } |
139 | 139 |
| 140 void* CommonDecoder::GetAddressAndSize(unsigned int shm_id, |
| 141 unsigned int data_offset, |
| 142 unsigned int* data_size) { |
| 143 CHECK(engine_); |
| 144 scoped_refptr<gpu::Buffer> buffer = engine_->GetSharedMemoryBuffer(shm_id); |
| 145 if (!buffer.get()) |
| 146 return NULL; |
| 147 return buffer->GetDataAddressAndSize(data_offset, data_size); |
| 148 } |
| 149 |
| 150 unsigned int CommonDecoder::GetSharedMemorySize(unsigned int shm_id, |
| 151 unsigned int offset) { |
| 152 CHECK(engine_); |
| 153 scoped_refptr<gpu::Buffer> buffer = engine_->GetSharedMemoryBuffer(shm_id); |
| 154 if (!buffer.get()) |
| 155 return 0; |
| 156 return buffer->GetRemainingSize(offset); |
| 157 } |
| 158 |
140 scoped_refptr<gpu::Buffer> CommonDecoder::GetSharedMemoryBuffer( | 159 scoped_refptr<gpu::Buffer> CommonDecoder::GetSharedMemoryBuffer( |
141 unsigned int shm_id) { | 160 unsigned int shm_id) { |
142 return engine_->GetSharedMemoryBuffer(shm_id); | 161 return engine_->GetSharedMemoryBuffer(shm_id); |
143 } | 162 } |
144 | 163 |
145 const char* CommonDecoder::GetCommonCommandName( | 164 const char* CommonDecoder::GetCommonCommandName( |
146 cmd::CommandId command_id) const { | 165 cmd::CommandId command_id) const { |
147 return cmd::GetCommandName(command_id); | 166 return cmd::GetCommandName(command_id); |
148 } | 167 } |
149 | 168 |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 } | 344 } |
326 const void* src = bucket->GetData(offset, size); | 345 const void* src = bucket->GetData(offset, size); |
327 if (!src) { | 346 if (!src) { |
328 return error::kInvalidArguments; | 347 return error::kInvalidArguments; |
329 } | 348 } |
330 memcpy(data, src, size); | 349 memcpy(data, src, size); |
331 return error::kNoError; | 350 return error::kNoError; |
332 } | 351 } |
333 | 352 |
334 } // namespace gpu | 353 } // namespace gpu |
OLD | NEW |