diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-05 18:00:36 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-05 18:00:36 +0000 |
commit | 06c8b08739df0a493445459d8ede0ae4eecc9a31 (patch) | |
tree | bd038ad2bd8a733b2f597c2d9d17e2b96b400d75 /gpu/command_buffer/service/renderbuffer_manager.h | |
parent | 3339229822e7af543067d5267d3b9795bd6e4485 (diff) | |
download | chromium_src-06c8b08739df0a493445459d8ede0ae4eecc9a31.zip chromium_src-06c8b08739df0a493445459d8ede0ae4eecc9a31.tar.gz chromium_src-06c8b08739df0a493445459d8ede0ae4eecc9a31.tar.bz2 |
Fix glIsFoo() functions for non-bound objects in command buffer.
BUG=62617
TEST=LayoutTests/fast/canvas/webgl/is-object.html
Review URL: http://codereview.chromium.org/4723003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70517 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/renderbuffer_manager.h')
-rw-r--r-- | gpu/command_buffer/service/renderbuffer_manager.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/renderbuffer_manager.h b/gpu/command_buffer/service/renderbuffer_manager.h index db9ba816..16a1d80 100644 --- a/gpu/command_buffer/service/renderbuffer_manager.h +++ b/gpu/command_buffer/service/renderbuffer_manager.h @@ -26,6 +26,7 @@ class RenderbufferManager { explicit RenderbufferInfo(GLuint service_id) : service_id_(service_id), cleared_(false), + has_been_bound_(false), samples_(0), internal_format_(GL_RGBA4), width_(0), @@ -69,10 +70,18 @@ class RenderbufferManager { cleared_ = false; } - bool IsDeleted() { + bool IsDeleted() const { return service_id_ == 0; } + void MarkAsValid() { + has_been_bound_ = true; + } + + bool IsValid() const { + return has_been_bound_ && !IsDeleted(); + } + private: friend class RenderbufferManager; friend class base::RefCounted<RenderbufferInfo>; @@ -89,6 +98,9 @@ class RenderbufferManager { // Whether this renderbuffer has been cleared bool cleared_; + // Whether this renderbuffer has ever been bound. + bool has_been_bound_; + // Number of samples (for multi-sampled renderbuffers) GLsizei samples_; |