Index: ui/gl/yuv_to_rgb_converter.cc |
diff --git a/ui/gl/yuv_to_rgb_converter.cc b/ui/gl/yuv_to_rgb_converter.cc |
index 540dcb502f39719b055598084abdce05e889968f..95124f0f0b0e6bacd68b7401ee91638c6581a848 100644 |
--- a/ui/gl/yuv_to_rgb_converter.cc |
+++ b/ui/gl/yuv_to_rgb_converter.cc |
@@ -121,8 +121,6 @@ YUVToRGBConverter::~YUVToRGBConverter() { |
void YUVToRGBConverter::CopyYUV420ToRGB(unsigned target, |
const gfx::Size& size, |
unsigned rgb_texture) { |
- // Only support for rectangle targets exists so far. |
- DCHECK_EQ(static_cast<GLenum>(GL_TEXTURE_RECTANGLE_ARB), target); |
ScopedSetGLToRealGLApi scoped_set_gl_api; |
// Note that state restoration is done explicitly instead of scoped binders to |
@@ -137,8 +135,8 @@ void YUVToRGBConverter::CopyYUV420ToRGB(unsigned target, |
glGetIntegerv(GL_TEXTURE_BINDING_RECTANGLE_ARB, &old_texture1_binding); |
// Allocate the rgb texture. |
- glBindTexture(GL_TEXTURE_RECTANGLE_ARB, rgb_texture); |
- glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGB, size.width(), size.height(), |
+ glBindTexture(target, rgb_texture); |
+ glTexImage2D(target, 0, GL_RGB, size.width(), size.height(), |
0, GL_RGB, GL_UNSIGNED_BYTE, nullptr); |
// Set up and issue the draw call. |
@@ -149,7 +147,7 @@ void YUVToRGBConverter::CopyYUV420ToRGB(unsigned target, |
ScopedFrameBufferBinder framebuffer_binder(framebuffer_); |
ScopedViewport viewport(0, 0, size.width(), size.height()); |
glFramebufferTexture2DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, |
- GL_TEXTURE_RECTANGLE_ARB, rgb_texture, 0); |
+ target, rgb_texture, 0); |
DCHECK_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_COMPLETE), |
glCheckFramebufferStatusEXT(GL_FRAMEBUFFER)); |
ScopedUseProgram use_program(program_); |
@@ -158,7 +156,7 @@ void YUVToRGBConverter::CopyYUV420ToRGB(unsigned target, |
// Restore previous state. |
glFramebufferTexture2DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, |
- GL_TEXTURE_RECTANGLE_ARB, 0, 0); |
+ target, 0, 0); |
glActiveTexture(GL_TEXTURE0); |
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, old_texture0_binding); |
glActiveTexture(GL_TEXTURE1); |