Index: gpu/command_buffer/service/renderbuffer_manager.h |
diff --git a/gpu/command_buffer/service/renderbuffer_manager.h b/gpu/command_buffer/service/renderbuffer_manager.h |
index 619fbf2fd4f972a18abd770bef5fd3816d07ccf1..5cd7e50cd9bc663efe54a4805e56a0ffc4820cc8 100644 |
--- a/gpu/command_buffer/service/renderbuffer_manager.h |
+++ b/gpu/command_buffer/service/renderbuffer_manager.h |
@@ -25,7 +25,7 @@ class RenderbufferManager { |
explicit RenderbufferInfo(GLuint service_id) |
: service_id_(service_id), |
- cleared_(false), |
+ cleared_(true), |
has_been_bound_(false), |
samples_(0), |
internal_format_(GL_RGBA4), |
@@ -41,10 +41,6 @@ class RenderbufferManager { |
return cleared_; |
} |
- void set_cleared() { |
- cleared_ = true; |
- } |
- |
GLenum internal_format() const { |
return internal_format_; |
} |
@@ -61,15 +57,6 @@ class RenderbufferManager { |
return height_; |
} |
- void SetInfo( |
- GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { |
- samples_ = samples; |
- internal_format_ = internalformat; |
- width_ = width; |
- height_ = height; |
- cleared_ = false; |
- } |
- |
bool IsDeleted() const { |
return service_id_ == 0; |
} |
@@ -88,6 +75,19 @@ class RenderbufferManager { |
~RenderbufferInfo() { } |
+ void set_cleared() { |
+ cleared_ = true; |
+ } |
+ |
+ void SetInfo( |
+ GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { |
+ samples_ = samples; |
+ internal_format_ = internalformat; |
+ width_ = width; |
+ height_ = height; |
+ cleared_ = false; |
+ } |
+ |
void MarkAsDeleted() { |
service_id_ = 0; |
} |
@@ -123,6 +123,16 @@ class RenderbufferManager { |
return max_samples_; |
} |
+ bool HaveUnclearedRenderbuffers() const { |
+ return num_uncleared_renderbuffers_ != 0; |
+ } |
+ |
+ void SetInfo( |
+ RenderbufferInfo* renderbuffer, |
+ GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); |
+ |
+ void SetCleared(RenderbufferInfo* renderbuffer); |
+ |
// Must call before destruction. |
void Destroy(bool have_context); |
@@ -142,6 +152,8 @@ class RenderbufferManager { |
GLint max_renderbuffer_size_; |
GLint max_samples_; |
+ int num_uncleared_renderbuffers_; |
+ |
// Info for each renderbuffer in the system. |
typedef base::hash_map<GLuint, RenderbufferInfo::Ref> RenderbufferInfoMap; |
RenderbufferInfoMap renderbuffer_infos_; |