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/buffer_manager.h" | 5 #include "gpu/command_buffer/service/buffer_manager.h" |
6 #include <limits> | 6 #include <limits> |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 9 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
10 #include "gpu/command_buffer/service/feature_info.h" | 10 #include "gpu/command_buffer/service/feature_info.h" |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 memory_tracker_->TrackMemAlloc(buffer->size()); | 252 memory_tracker_->TrackMemAlloc(buffer->size()); |
253 } | 253 } |
254 | 254 |
255 void BufferManager::DoBufferData( | 255 void BufferManager::DoBufferData( |
256 GLES2Decoder* decoder, | 256 GLES2Decoder* decoder, |
257 Buffer* buffer, | 257 Buffer* buffer, |
258 GLsizeiptr size, | 258 GLsizeiptr size, |
259 GLenum usage, | 259 GLenum usage, |
260 const GLvoid* data) { | 260 const GLvoid* data) { |
261 // Clear the buffer to 0 if no initial data was passed in. | 261 // Clear the buffer to 0 if no initial data was passed in. |
262 scoped_array<int8> zero; | 262 scoped_ptr<int8[]> zero; |
263 if (!data) { | 263 if (!data) { |
264 zero.reset(new int8[size]); | 264 zero.reset(new int8[size]); |
265 memset(zero.get(), 0, size); | 265 memset(zero.get(), 0, size); |
266 data = zero.get(); | 266 data = zero.get(); |
267 } | 267 } |
268 | 268 |
269 GLESDECODER_COPY_REAL_GL_ERRORS_TO_WRAPPER(decoder, "glBufferData"); | 269 GLESDECODER_COPY_REAL_GL_ERRORS_TO_WRAPPER(decoder, "glBufferData"); |
270 if (IsUsageClientSideArray(usage)) { | 270 if (IsUsageClientSideArray(usage)) { |
271 glBufferData(buffer->target(), 0, NULL, usage); | 271 glBufferData(buffer->target(), 0, NULL, usage); |
272 } else { | 272 } else { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 if (buffer->target() == 0) { | 306 if (buffer->target() == 0) { |
307 buffer->set_target(target); | 307 buffer->set_target(target); |
308 } | 308 } |
309 return true; | 309 return true; |
310 } | 310 } |
311 | 311 |
312 } // namespace gles2 | 312 } // namespace gles2 |
313 } // namespace gpu | 313 } // namespace gpu |
314 | 314 |
315 | 315 |
OLD | NEW |