| 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 0c74c4b85057e97ac057420b9503bb45c1bb9ec4..46f20bd047d0d3ae293f15cf531ae3ce7f936d9f 100644
|
| --- a/gpu/command_buffer/service/texture_manager.h
|
| +++ b/gpu/command_buffer/service/texture_manager.h
|
| @@ -261,6 +261,11 @@ class GPU_EXPORT Texture {
|
|
|
| // Whether a particular level/face is cleared.
|
| bool IsLevelCleared(GLenum target, GLint level) const;
|
| +
|
| + // Only meaningful when the format is DEPTH_STENCIL.
|
| + // Whether a particular part is cleared.
|
| + bool IsLevelCleared(GLenum target, GLint level, GLenum attachment) const;
|
| +
|
| // Whether a particular level/face is partially cleared.
|
| bool IsLevelPartiallyCleared(GLenum target, GLint level) const;
|
|
|
| @@ -395,6 +400,13 @@ class GPU_EXPORT Texture {
|
| // Marks a particular level as cleared or uncleared.
|
| void SetLevelCleared(GLenum target, GLint level, bool cleared);
|
|
|
| + // Only meaningful when the format is DEPTH_STENCIL.
|
| + // Marks a particular part as cleared or uncleared.
|
| + void SetLevelCleared(GLenum target,
|
| + GLint level,
|
| + GLenum attachment,
|
| + bool cleared);
|
| +
|
| // Updates the cleared flag for this texture by inspecting all the mips.
|
| void UpdateCleared();
|
|
|
| @@ -553,6 +565,12 @@ class GPU_EXPORT Texture {
|
| // Whether all renderable mips of this texture have been cleared.
|
| bool cleared_;
|
|
|
| + // Only meaningful when format is DEPTH_STENCIL.
|
| + // Whether the depth part of the texture have been cleared.
|
| + bool depth_cleared_;
|
| + // Whether the stencil part of the texture have been cleared.
|
| + bool stencil_cleared_ ;
|
| +
|
| int num_uncleared_mips_;
|
| int num_npot_faces_;
|
|
|
| @@ -848,6 +866,11 @@ class GPU_EXPORT TextureManager : public base::trace_event::MemoryDumpProvider {
|
| void SetLevelCleared(TextureRef* ref, GLenum target,
|
| GLint level, bool cleared);
|
|
|
| + // Only meaningful when the internal format is DEPTH_STENCIL.
|
| + // Sets the particular part of the texture as cleared or uncleared.
|
| + void SetLevelCleared(TextureRef* ref, GLenum target,
|
| + GLint level, GLenum attachment, bool cleared);
|
| +
|
| // Sets a texture parameter of a Texture
|
| // Returns GL_NO_ERROR on success. Otherwise the error to generate.
|
| // TODO(gman): Expand to SetParameteriv,fv
|
|
|