summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/renderbuffer_manager.h
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-23 02:00:26 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-23 02:00:26 +0000
commit9edc6b2c8f0e0992c2f17eb5434d7c3044baff19 (patch)
treeab01dd716b3d0f01675029635ffde9ff9f4d64d9 /gpu/command_buffer/service/renderbuffer_manager.h
parentd5d9bf9b6414fecc6c9c764b05fb7f0f9a8c8745 (diff)
downloadchromium_src-9edc6b2c8f0e0992c2f17eb5434d7c3044baff19.zip
chromium_src-9edc6b2c8f0e0992c2f17eb5434d7c3044baff19.tar.gz
chromium_src-9edc6b2c8f0e0992c2f17eb5434d7c3044baff19.tar.bz2
Make CopyTexImage2D and CopyTexSubImage2D fail if
formats are incompatible. TEST=unit tests, more WebGL conformance tests pass. BUG=none Review URL: http://codereview.chromium.org/6028005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70021 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/renderbuffer_manager.h')
-rw-r--r--gpu/command_buffer/service/renderbuffer_manager.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/gpu/command_buffer/service/renderbuffer_manager.h b/gpu/command_buffer/service/renderbuffer_manager.h
index c6992c3a..db9ba816 100644
--- a/gpu/command_buffer/service/renderbuffer_manager.h
+++ b/gpu/command_buffer/service/renderbuffer_manager.h
@@ -26,7 +26,10 @@ class RenderbufferManager {
explicit RenderbufferInfo(GLuint service_id)
: service_id_(service_id),
cleared_(false),
- internal_format_(GL_RGBA4) {
+ samples_(0),
+ internal_format_(GL_RGBA4),
+ width_(0),
+ height_(0) {
}
GLuint service_id() const {
@@ -45,8 +48,24 @@ class RenderbufferManager {
return internal_format_;
}
- void set_internal_format(GLenum internalformat) {
+ GLsizei samples() const {
+ return samples_;
+ }
+
+ GLsizei width() const {
+ return width_;
+ }
+
+ GLsizei height() const {
+ return height_;
+ }
+
+ void SetInfo(
+ GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
+ samples_ = samples;
internal_format_ = internalformat;
+ width_ = width;
+ height_ = height;
cleared_ = false;
}
@@ -70,8 +89,15 @@ class RenderbufferManager {
// Whether this renderbuffer has been cleared
bool cleared_;
+ // Number of samples (for multi-sampled renderbuffers)
+ GLsizei samples_;
+
// Renderbuffer internalformat set through RenderbufferStorage().
GLenum internal_format_;
+
+ // Dimensions of renderbuffer.
+ GLsizei width_;
+ GLsizei height_;
};
explicit RenderbufferManager(GLint max_renderbuffer_size);