Index: gpu/command_buffer/service/texture_manager.h |
diff --git a/gpu/command_buffer/service/texture_manager.h b/gpu/command_buffer/service/texture_manager.h |
index 2ae2561d3294b52c5e975fffd9b9d56bb7dc770e..2f118de18f0d3bd8d3f047740ccf13bcdfb4bb11 100644 |
--- a/gpu/command_buffer/service/texture_manager.h |
+++ b/gpu/command_buffer/service/texture_manager.h |
@@ -272,7 +272,9 @@ class GPU_EXPORT Texture { |
FaceInfo(); |
~FaceInfo(); |
+ // This is relative to base_level and max_level of a texture. |
GLsizei num_mip_levels; |
+ // This contains slots for all levels starting at 0. |
std::vector<LevelInfo> level_infos; |
}; |
@@ -362,10 +364,11 @@ class GPU_EXPORT Texture { |
GLenum format, |
GLenum type); |
- // Returns true if texture mip level is complete relative to first level. |
- static bool TextureMipComplete(const Texture::LevelInfo& level0_face, |
+ // Returns true if texture mip level is complete relative to base level. |
+ // Note that level_diff = level - base_level. |
+ static bool TextureMipComplete(const Texture::LevelInfo& base_level_face, |
GLenum target, |
- GLint level, |
+ GLint level_diff, |
GLenum internal_format, |
GLsizei width, |
GLsizei height, |
@@ -418,6 +421,10 @@ class GPU_EXPORT Texture { |
// referencing this texture. |
void IncAllFramebufferStateChangeCount(); |
+ void UpdateBaseLevel(GLint base_level); |
+ void UpdateMaxLevel(GLint max_level); |
+ void UpdateNumMipLevels(); |
+ |
MailboxManager* mailbox_manager_; |
// Info about each face and level of texture. |