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

Side by Side Diff: ui/gl/yuv_to_rgb_converter.cc

Issue 2170293002: Use GLVersionInfo instead of gl::GetGLImplementation() to decide GL paths (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comment Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « ui/gl/yuv_to_rgb_converter.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gl/yuv_to_rgb_converter.h" 5 #include "ui/gl/yuv_to_rgb_converter.h"
6 6
7 #include "base/strings/stringize_macros.h" 7 #include "base/strings/stringize_macros.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "ui/gl/gl_helper.h" 9 #include "ui/gl/gl_helper.h"
10 #include "ui/gl/gl_implementation.h" 10 #include "ui/gl/gl_version_info.h"
11 #include "ui/gl/scoped_api.h" 11 #include "ui/gl/scoped_api.h"
12 #include "ui/gl/scoped_binders.h" 12 #include "ui/gl/scoped_binders.h"
13 13
14 namespace gl { 14 namespace gl {
15 namespace { 15 namespace {
16 16
17 const char kVertexHeaderCompatiblityProfile[] = 17 const char kVertexHeaderCompatiblityProfile[] =
18 "#version 110\n" 18 "#version 110\n"
19 "#define ATTRIBUTE attribute\n" 19 "#define ATTRIBUTE attribute\n"
20 "#define VARYING varying\n"; 20 "#define VARYING varying\n";
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 vec3 yuv = vec3( 63 vec3 yuv = vec3(
64 TEX(a_y_texture, v_texCoord).r, 64 TEX(a_y_texture, v_texCoord).r,
65 TEX(a_uv_texture, v_texCoord * 0.5).rg); 65 TEX(a_uv_texture, v_texCoord * 0.5).rg);
66 FRAGCOLOR = vec4(yuv_matrix * (yuv + yuv_adj), 1.0); 66 FRAGCOLOR = vec4(yuv_matrix * (yuv + yuv_adj), 1.0);
67 } 67 }
68 ); 68 );
69 // clang-format on 69 // clang-format on
70 70
71 } // namespace 71 } // namespace
72 72
73 YUVToRGBConverter::YUVToRGBConverter() { 73 YUVToRGBConverter::YUVToRGBConverter(const GLVersionInfo& gl_version_info) {
74 bool use_core_profile = 74 bool use_core_profile = gl_version_info.is_desktop_core_profile;
75 GetGLImplementation() == kGLImplementationDesktopGLCoreProfile;
76 ScopedSetGLToRealGLApi scoped_set_gl_api; 75 ScopedSetGLToRealGLApi scoped_set_gl_api;
77 glGenFramebuffersEXT(1, &framebuffer_); 76 glGenFramebuffersEXT(1, &framebuffer_);
78 vertex_buffer_ = GLHelper::SetupQuadVertexBuffer(); 77 vertex_buffer_ = GLHelper::SetupQuadVertexBuffer();
79 vertex_shader_ = GLHelper::LoadShader( 78 vertex_shader_ = GLHelper::LoadShader(
80 GL_VERTEX_SHADER, 79 GL_VERTEX_SHADER,
81 base::StringPrintf("%s\n%s", 80 base::StringPrintf("%s\n%s",
82 use_core_profile ? kVertexHeaderCoreProfile 81 use_core_profile ? kVertexHeaderCoreProfile
83 : kVertexHeaderCompatiblityProfile, 82 : kVertexHeaderCompatiblityProfile,
84 kVertexShader) 83 kVertexShader)
85 .c_str()); 84 .c_str());
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 glFramebufferTexture2DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, 157 glFramebufferTexture2DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
159 target, 0, 0); 158 target, 0, 0);
160 glActiveTexture(GL_TEXTURE0); 159 glActiveTexture(GL_TEXTURE0);
161 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, old_texture0_binding); 160 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, old_texture0_binding);
162 glActiveTexture(GL_TEXTURE1); 161 glActiveTexture(GL_TEXTURE1);
163 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, old_texture1_binding); 162 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, old_texture1_binding);
164 glActiveTexture(old_active_texture); 163 glActiveTexture(old_active_texture);
165 } 164 }
166 165
167 } // namespace gl 166 } // namespace gl
OLDNEW
« no previous file with comments | « ui/gl/yuv_to_rgb_converter.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698