Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Unified Diff: ui/gl/scoped_binders.cc

Issue 1419733005: gpu: Add YCbCr 420v extension. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on master. Add gl/gfx namespace qualifiers. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/gl/scoped_binders.cc
diff --git a/ui/gl/scoped_binders.cc b/ui/gl/scoped_binders.cc
index bb2b290105622a9823b49b284d6bbd72aa6f36bc..0d6389a6b11c177e6d1704eb3c4a78b76e44757a 100644
--- a/ui/gl/scoped_binders.cc
+++ b/ui/gl/scoped_binders.cc
@@ -47,8 +47,11 @@ ScopedTextureBinder::ScopedTextureBinder(unsigned int target, unsigned int id)
case GL_TEXTURE_EXTERNAL_OES:
target_getter = GL_TEXTURE_BINDING_EXTERNAL_OES;
break;
+ case GL_TEXTURE_RECTANGLE_ARB:
+ target_getter = GL_TEXTURE_BINDING_RECTANGLE_ARB;
+ break;
default:
- NOTIMPLEMENTED() << "Target not part of OpenGL ES 2.0 spec.";
+ NOTIMPLEMENTED() << " Target not supported.";
}
glGetIntegerv(target_getter, &old_id_);
}
@@ -65,4 +68,43 @@ ScopedTextureBinder::~ScopedTextureBinder() {
}
}
+ScopedUseProgram::ScopedUseProgram(unsigned int program) : old_program_(-1) {
+ glGetIntegerv(GL_CURRENT_PROGRAM, &old_program_);
+ glUseProgram(program);
+}
+
+ScopedUseProgram::~ScopedUseProgram() {
+ glUseProgram(old_program_);
+}
+
+ScopedEnableVertexAttribArray::ScopedEnableVertexAttribArray(unsigned int index)
+ : enabled_(0), index_(index) {
reveman 2015/10/29 22:08:04 s/0/GL_FALSE/
Daniele Castagna 2015/10/30 23:51:57 Done.
+ glGetVertexAttribiv(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &enabled_);
+ glEnableVertexAttribArray(index);
+}
+
+ScopedEnableVertexAttribArray::~ScopedEnableVertexAttribArray() {
+ if (!enabled_) {
reveman 2015/10/29 22:08:04 if (enabled_ == GL_FALSE)
Daniele Castagna 2015/10/30 23:51:57 Done.
+ glDisableVertexAttribArray(index_);
+ }
+}
+
+ScopedBufferBinder::ScopedBufferBinder(unsigned int target, unsigned int id)
+ : target_(target), old_id_(-1) {
+ GLenum target_getter = 0;
+ switch (target) {
+ case GL_ARRAY_BUFFER:
+ target_getter = GL_ARRAY_BUFFER_BINDING;
+ break;
+ default:
+ NOTIMPLEMENTED() << " Target not supported.";
+ }
+ glGetIntegerv(target_getter, &old_id_);
+ glBindBuffer(target_, id);
+}
+
+ScopedBufferBinder::~ScopedBufferBinder() {
+ glBindBuffer(target_, old_id_);
+}
+
} // namespace gfx

Powered by Google App Engine
This is Rietveld 408576698