| /* | 
 |  * Copyright 2016 Google Inc. All Rights Reserved. | 
 |  * | 
 |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
 |  * you may not use this file except in compliance with the License. | 
 |  * You may obtain a copy of the License at | 
 |  * | 
 |  *     http://www.apache.org/licenses/LICENSE-2.0 | 
 |  * | 
 |  * Unless required by applicable law or agreed to in writing, software | 
 |  * distributed under the License is distributed on an "AS IS" BASIS, | 
 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 |  * See the License for the specific language governing permissions and | 
 |  * limitations under the License. | 
 |  */ | 
 |  | 
 | #include "glimp/gles/draw_state.h" | 
 |  | 
 | namespace glimp { | 
 | namespace gles { | 
 |  | 
 | DirtyUniforms::DirtyUniforms() : all_dirty_(true) {} | 
 |  | 
 | bool DirtyUniforms::IsDirty(int location) const { | 
 |   return all_dirty_ || | 
 |          std::find(uniforms_dirty_.begin(), uniforms_dirty_.end(), location) != | 
 |              uniforms_dirty_.end(); | 
 | } | 
 |  | 
 | bool DirtyUniforms::AnyDirty() const { | 
 |   return all_dirty_ || !uniforms_dirty_.empty(); | 
 | } | 
 |  | 
 | void DirtyUniforms::ClearAll() { | 
 |   all_dirty_ = false; | 
 |   uniforms_dirty_.clear(); | 
 | } | 
 |  | 
 | void DirtyUniforms::MarkAll() { | 
 |   all_dirty_ = true; | 
 | } | 
 |  | 
 | void DirtyUniforms::Mark(int location) { | 
 |   if (!IsDirty(location)) { | 
 |     uniforms_dirty_.push_back(location); | 
 |   } | 
 | } | 
 |  | 
 | }  // namespace gles | 
 | }  // namespace glimp |