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 // A class to emulate GLES2 over command buffers. | 5 // A class to emulate GLES2 over command buffers. |
6 | 6 |
7 #include "gpu/command_buffer/client/gles2_implementation.h" | 7 #include "gpu/command_buffer/client/gles2_implementation.h" |
8 | 8 |
9 #include <GLES2/gl2.h> | 9 #include <GLES2/gl2.h> |
10 #include <GLES2/gl2ext.h> | 10 #include <GLES2/gl2ext.h> |
(...skipping 6335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6346 } | 6346 } |
6347 total_size += len; | 6347 total_size += len; |
6348 total_size += 1; // NULL at the end of each char array. | 6348 total_size += 1; // NULL at the end of each char array. |
6349 if (!total_size.IsValid()) { | 6349 if (!total_size.IsValid()) { |
6350 SetGLError(GL_INVALID_VALUE, func_name, "overflow"); | 6350 SetGLError(GL_INVALID_VALUE, func_name, "overflow"); |
6351 return false; | 6351 return false; |
6352 } | 6352 } |
6353 header[ii + 1] = len; | 6353 header[ii + 1] = len; |
6354 } | 6354 } |
6355 // Pack data into a bucket on the service. | 6355 // Pack data into a bucket on the service. |
6356 helper_->SetBucketSize(kResultBucketId, total_size.ValueOrDefault(0)); | 6356 helper_->SetBucketSize(kResultBucketId, |
| 6357 total_size.template ValueOrDefault<uint32_t>(0)); |
6357 size_t offset = 0; | 6358 size_t offset = 0; |
6358 for (GLsizei ii = 0; ii <= count; ++ii) { | 6359 for (GLsizei ii = 0; ii <= count; ++ii) { |
6359 const char* src = | 6360 const char* src = |
6360 (ii == 0) ? reinterpret_cast<const char*>(&header[0]) : str[ii - 1]; | 6361 (ii == 0) ? reinterpret_cast<const char*>(&header[0]) : str[ii - 1]; |
6361 base::CheckedNumeric<size_t> checked_size = | 6362 base::CheckedNumeric<size_t> checked_size = |
6362 (ii == 0) ? header_size : static_cast<size_t>(header[ii]); | 6363 (ii == 0) ? header_size : static_cast<size_t>(header[ii]); |
6363 if (ii > 0) { | 6364 if (ii > 0) { |
6364 checked_size += 1; // NULL in the end. | 6365 checked_size += 1; // NULL in the end. |
6365 } | 6366 } |
6366 if (!checked_size.IsValid()) { | 6367 if (!checked_size.IsValid()) { |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7030 cached_extensions_.clear(); | 7031 cached_extensions_.clear(); |
7031 } | 7032 } |
7032 | 7033 |
7033 // Include the auto-generated part of this file. We split this because it means | 7034 // Include the auto-generated part of this file. We split this because it means |
7034 // we can easily edit the non-auto generated parts right here in this file | 7035 // we can easily edit the non-auto generated parts right here in this file |
7035 // instead of having to edit some template or the code generator. | 7036 // instead of having to edit some template or the code generator. |
7036 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" | 7037 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" |
7037 | 7038 |
7038 } // namespace gles2 | 7039 } // namespace gles2 |
7039 } // namespace gpu | 7040 } // namespace gpu |
OLD | NEW |