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 33cd54ad225b682f962f69e169f49e67c94cef86..a04cfa2a1f80315b209d05479f60b831d6402c82 100644 |
--- a/gpu/command_buffer/service/texture_manager.h |
+++ b/gpu/command_buffer/service/texture_manager.h |
@@ -39,22 +39,6 @@ |
// jointly owned by possibly multiple TextureRef. |
class GPU_EXPORT Texture { |
public: |
- enum ImageState { |
- // If an image is associated with the texture and image state is UNBOUND, |
- // then sampling out of the texture or using it as a target for drawing |
- // will not read/write from/to the image. |
- UNBOUND, |
- // If image state is BOUND, then sampling from the texture will return the |
- // contents of the image and using it as a target will modify the image. |
- BOUND, |
- // Image state is set to COPIED if the contents of the image has been |
- // copied to the texture. Sampling from the texture will be equivalent |
- // to sampling out the image (assuming image has not been changed since |
- // it was copied). Using the texture as a target for drawing will only |
- // modify the texture and not the image. |
- COPIED |
- }; |
- |
explicit Texture(GLuint service_id); |
GLenum min_filter() const { |
@@ -149,17 +133,8 @@ |
bool GetLevelType( |
GLint target, GLint level, GLenum* type, GLenum* internal_format) const; |
- // 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 |
+ // Get the image bound to a particular level. Returns NULL if level |
// does not exist. |
- gfx::GLImage* GetLevelImage(GLint target, |
- GLint level, |
- ImageState* state) const; |
gfx::GLImage* GetLevelImage(GLint target, GLint level) const; |
bool HasImages() const { |
@@ -218,6 +193,9 @@ |
// Initialize TEXTURE_MAX_ANISOTROPY to 1 if we haven't done so yet. |
void InitTextureMaxAnisotropyIfNeeded(GLenum target); |
+ void OnWillModifyPixels(); |
+ void OnDidModifyPixels(); |
+ |
void DumpLevelMemory(base::trace_event::ProcessMemoryDump* pmd, |
uint64_t client_tracing_id, |
const std::string& dump_name) const; |
@@ -264,7 +242,6 @@ |
GLenum format; |
GLenum type; |
scoped_refptr<gfx::GLImage> image; |
- ImageState image_state; |
uint32 estimated_size; |
}; |
@@ -384,6 +361,13 @@ |
// 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( |
@@ -806,11 +790,11 @@ |
return memory_type_tracker_->GetMemRepresented(); |
} |
- void SetLevelImage(TextureRef* ref, |
- GLenum target, |
- GLint level, |
- gfx::GLImage* image, |
- Texture::ImageState state); |
+ void SetLevelImage( |
+ TextureRef* ref, |
+ GLenum target, |
+ GLint level, |
+ gfx::GLImage* image); |
size_t GetSignatureSize() const; |