| 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 a04cfa2a1f80315b209d05479f60b831d6402c82..14efe7a8e7776b66c2e63d797c253d77b2919dcb 100644
|
| --- a/gpu/command_buffer/service/texture_manager.h
|
| +++ b/gpu/command_buffer/service/texture_manager.h
|
| @@ -39,6 +39,8 @@ class TextureRef;
|
| // jointly owned by possibly multiple TextureRef.
|
| class GPU_EXPORT Texture {
|
| public:
|
| + enum ImageState { UNBOUND, BOUND, COPIED };
|
| +
|
| explicit Texture(GLuint service_id);
|
|
|
| GLenum min_filter() const {
|
| @@ -133,9 +135,17 @@ class GPU_EXPORT Texture {
|
| bool GetLevelType(
|
| GLint target, GLint level, GLenum* type, GLenum* internal_format) const;
|
|
|
| - // Get the image bound to a particular level. Returns NULL if level
|
| + // Set the image for a particular level.
|
| + void SetLevelImage(GLenum target,
|
| + GLint level,
|
| + gfx::GLImage* image,
|
| + ImageState state);
|
| +
|
| + // Get the image associated with a particular level. Returns NULL if level
|
| // does not exist.
|
| - gfx::GLImage* GetLevelImage(GLint target, GLint level) const;
|
| + gfx::GLImage* GetLevelImage(GLint target,
|
| + GLint level,
|
| + ImageState* state) const;
|
|
|
| bool HasImages() const {
|
| return has_images_;
|
| @@ -242,6 +252,7 @@ class GPU_EXPORT Texture {
|
| GLenum format;
|
| GLenum type;
|
| scoped_refptr<gfx::GLImage> image;
|
| + ImageState image_state;
|
| uint32 estimated_size;
|
| };
|
|
|
| @@ -362,13 +373,6 @@ class GPU_EXPORT Texture {
|
| // Update info about this texture.
|
| void Update(const FeatureInfo* feature_info);
|
|
|
| - // Set the image for a particular level.
|
| - void SetLevelImage(
|
| - const FeatureInfo* feature_info,
|
| - GLenum target,
|
| - GLint level,
|
| - gfx::GLImage* image);
|
| -
|
| // Appends a signature for the given level.
|
| void AddToSignature(
|
| const FeatureInfo* feature_info,
|
| @@ -790,11 +794,11 @@ class GPU_EXPORT TextureManager : public base::trace_event::MemoryDumpProvider {
|
| return memory_type_tracker_->GetMemRepresented();
|
| }
|
|
|
| - void SetLevelImage(
|
| - TextureRef* ref,
|
| - GLenum target,
|
| - GLint level,
|
| - gfx::GLImage* image);
|
| + void SetLevelImage(TextureRef* ref,
|
| + GLenum target,
|
| + GLint level,
|
| + gfx::GLImage* image,
|
| + Texture::ImageState state);
|
|
|
| size_t GetSignatureSize() const;
|
|
|
|
|