| Index: gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
|
| index f49592307623204612545a1cff539ad38791715b..91ce24e7c397572874a1109436e29acb9ed49f9b 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
|
| @@ -10,7 +10,7 @@
|
|
|
| #include "gpu/command_buffer/service/gl_utils.h"
|
| #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
|
| -#include "ui/gl/gl_implementation.h"
|
| +#include "ui/gl/gl_version_info.h"
|
|
|
| namespace {
|
|
|
| @@ -94,11 +94,11 @@ const char* kShaderPrecisionPreamble = "\
|
| #define TexCoordPrecision\n\
|
| #endif\n";
|
|
|
| -std::string GetVertexShaderSource() {
|
| +std::string GetVertexShaderSource(const gl::GLVersionInfo& gl_version_info) {
|
| std::string source;
|
|
|
| // Preamble for core and compatibility mode.
|
| - if (gl::GetGLImplementation() == gl::kGLImplementationDesktopGLCoreProfile) {
|
| + if (gl_version_info.is_desktop_core_profile) {
|
| source += std::string("\
|
| #version 150\n\
|
| #define ATTRIBUTE in\n\
|
| @@ -130,13 +130,14 @@ std::string GetVertexShaderSource() {
|
| return source;
|
| }
|
|
|
| -std::string GetFragmentShaderSource(bool premultiply_alpha,
|
| +std::string GetFragmentShaderSource(const gl::GLVersionInfo& gl_version_info,
|
| + bool premultiply_alpha,
|
| bool unpremultiply_alpha,
|
| GLenum target) {
|
| std::string source;
|
|
|
| // Preamble for core and compatibility mode.
|
| - if (gl::GetGLImplementation() == gl::kGLImplementationDesktopGLCoreProfile) {
|
| + if (gl_version_info.is_desktop_core_profile) {
|
| source += std::string("\
|
| #version 150\n\
|
| out vec4 frag_color;\n\
|
| @@ -574,12 +575,13 @@ void CopyTextureCHROMIUMResourceManager::DoCopyTextureInternal(
|
| DLOG(ERROR) << "CopyTextureCHROMIUM: Uninitialized manager.";
|
| return;
|
| }
|
| + const gl::GLVersionInfo& gl_version_info =
|
| + decoder->GetFeatureInfo()->gl_version_info();
|
|
|
| if (vertex_array_object_id_) {
|
| glBindVertexArrayOES(vertex_array_object_id_);
|
| } else {
|
| - if (gl::GetGLImplementation() !=
|
| - gl::kGLImplementationDesktopGLCoreProfile) {
|
| + if (!gl_version_info.is_desktop_core_profile) {
|
| decoder->ClearAllAttributes();
|
| }
|
| glEnableVertexAttribArray(kVertexPositionAttrib);
|
| @@ -598,15 +600,16 @@ void CopyTextureCHROMIUMResourceManager::DoCopyTextureInternal(
|
| info->program = glCreateProgram();
|
| if (!vertex_shader_) {
|
| vertex_shader_ = glCreateShader(GL_VERTEX_SHADER);
|
| - std::string source = GetVertexShaderSource();
|
| + std::string source = GetVertexShaderSource(gl_version_info);
|
| CompileShader(vertex_shader_, source.c_str());
|
| }
|
| glAttachShader(info->program, vertex_shader_);
|
| GLuint* fragment_shader = &fragment_shaders_[fragment_shader_id];
|
| if (!*fragment_shader) {
|
| *fragment_shader = glCreateShader(GL_FRAGMENT_SHADER);
|
| - std::string source = GetFragmentShaderSource(
|
| - premultiply_alpha, unpremultiply_alpha, source_target);
|
| + std::string source =
|
| + GetFragmentShaderSource(gl_version_info, premultiply_alpha,
|
| + unpremultiply_alpha, source_target);
|
| CompileShader(*fragment_shader, source.c_str());
|
| }
|
| glAttachShader(info->program, *fragment_shader);
|
|
|