Index: gpu/command_buffer/service/texture_definition.cc |
diff --git a/gpu/command_buffer/service/texture_definition.cc b/gpu/command_buffer/service/texture_definition.cc |
index edd42717d3702ba9b421d5ba87ae79549ca11377..3d8f6704847f8b1e20f8da0c1e292d9bae265008 100644 |
--- a/gpu/command_buffer/service/texture_definition.cc |
+++ b/gpu/command_buffer/service/texture_definition.cc |
@@ -413,7 +413,8 @@ bool TextureDefinition::Matches(const Texture* texture) const { |
if (texture->min_filter_ != min_filter_ || |
texture->mag_filter_ != mag_filter_ || |
texture->wrap_s_ != wrap_s_ || |
- texture->wrap_t_ != wrap_t_) { |
+ texture->wrap_t_ != wrap_t_ || |
+ texture->SafeToRenderFrom() != SafeToRenderFrom()) { |
return false; |
} |
@@ -424,5 +425,17 @@ bool TextureDefinition::Matches(const Texture* texture) const { |
return true; |
} |
+bool TextureDefinition::SafeToRenderFrom() const { |
+ for (size_t i = 0; i < level_infos_.size(); i++) { |
+ const std::vector<LevelInfo>& face_info = level_infos_[i]; |
+ for (size_t j = 0; j < face_info.size(); ++j) { |
no sievers
2015/01/29 20:23:49
for (const std::vector<LevelInfo>& face_info : lev
boliu
2015/01/29 22:04:34
Done. c++11 all the way!
|
+ if (!face_info[j].cleared) { |
+ return false; |
+ } |
+ } |
+ } |
+ return true; |
+} |
+ |
} // namespace gles2 |
} // namespace gpu |