| 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/feature_info.h" | 5 #include "gpu/command_buffer/service/feature_info.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 private: | 77 private: |
| 78 std::set<std::string> string_set_; | 78 std::set<std::string> string_set_; |
| 79 }; | 79 }; |
| 80 | 80 |
| 81 // Process a string of wordaround type IDs (seperated by ',') and set up | 81 // Process a string of wordaround type IDs (seperated by ',') and set up |
| 82 // the corresponding Workaround flags. | 82 // the corresponding Workaround flags. |
| 83 void StringToWorkarounds( | 83 void StringToWorkarounds( |
| 84 const std::string& types, FeatureInfo::Workarounds* workarounds) { | 84 const std::string& types, FeatureInfo::Workarounds* workarounds) { |
| 85 DCHECK(workarounds); | 85 DCHECK(workarounds); |
| 86 for (const base::StringPiece& piece : | 86 std::vector<std::string> pieces; |
| 87 base::SplitStringPiece( | 87 base::SplitString(types, ',', &pieces); |
| 88 types, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) { | 88 for (size_t i = 0; i < pieces.size(); ++i) { |
| 89 int number = 0; | 89 int number = 0; |
| 90 bool succeed = base::StringToInt(piece, &number); | 90 bool succeed = base::StringToInt(pieces[i], &number); |
| 91 DCHECK(succeed); | 91 DCHECK(succeed); |
| 92 switch (number) { | 92 switch (number) { |
| 93 #define GPU_OP(type, name) \ | 93 #define GPU_OP(type, name) \ |
| 94 case gpu::type: \ | 94 case gpu::type: \ |
| 95 workarounds->name = true; \ | 95 workarounds->name = true; \ |
| 96 break; | 96 break; |
| 97 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) | 97 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) |
| 98 #undef GPU_OP | 98 #undef GPU_OP |
| 99 default: | 99 default: |
| 100 NOTIMPLEMENTED(); | 100 NOTIMPLEMENTED(); |
| (...skipping 1049 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 if (pos == std::string::npos) { | 1150 if (pos == std::string::npos) { |
| 1151 extensions_ += (extensions_.empty() ? "" : " ") + str; | 1151 extensions_ += (extensions_.empty() ? "" : " ") + str; |
| 1152 } | 1152 } |
| 1153 } | 1153 } |
| 1154 | 1154 |
| 1155 FeatureInfo::~FeatureInfo() { | 1155 FeatureInfo::~FeatureInfo() { |
| 1156 } | 1156 } |
| 1157 | 1157 |
| 1158 } // namespace gles2 | 1158 } // namespace gles2 |
| 1159 } // namespace gpu | 1159 } // namespace gpu |
| OLD | NEW |