| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <GLES2/gl2.h> | 5 #include <GLES2/gl2.h> |
| 6 #include <GLES2/gl2ext.h> | 6 #include <GLES2/gl2ext.h> |
| 7 #include <GLES2/gl2extchromium.h> | 7 #include <GLES2/gl2extchromium.h> |
| 8 #include <stdint.h> |
| 8 | 9 |
| 9 #include "gpu/command_buffer/service/context_group.h" | 10 #include "gpu/command_buffer/service/context_group.h" |
| 10 #include "gpu/command_buffer/tests/gl_manager.h" | 11 #include "gpu/command_buffer/tests/gl_manager.h" |
| 11 #include "gpu/command_buffer/tests/gl_test_utils.h" | 12 #include "gpu/command_buffer/tests/gl_test_utils.h" |
| 12 #include "testing/gmock/include/gmock/gmock.h" | 13 #include "testing/gmock/include/gmock/gmock.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
| 14 | 15 |
| 15 #define SHADER(Src) #Src | 16 #define SHADER(Src) #Src |
| 16 | 17 |
| 17 namespace gpu { | 18 namespace gpu { |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 GLuint fs = GLTestHelper::LoadShader(GL_FRAGMENT_SHADER, f_red_shader_str); | 121 GLuint fs = GLTestHelper::LoadShader(GL_FRAGMENT_SHADER, f_red_shader_str); |
| 121 GLuint program = GLTestHelper::SetupProgram(vs, fs); | 122 GLuint program = GLTestHelper::SetupProgram(vs, fs); |
| 122 glUseProgram(program); | 123 glUseProgram(program); |
| 123 glShaderSource(fs, 1, &f_blue_shader_str, NULL); | 124 glShaderSource(fs, 1, &f_blue_shader_str, NULL); |
| 124 glCompileShader(fs); | 125 glCompileShader(fs); |
| 125 glLinkProgram(program); | 126 glLinkProgram(program); |
| 126 // We specifically don't call UseProgram again. | 127 // We specifically don't call UseProgram again. |
| 127 GLuint position_loc = glGetAttribLocation(program, "a_position"); | 128 GLuint position_loc = glGetAttribLocation(program, "a_position"); |
| 128 GLTestHelper::SetupUnitQuad(position_loc); | 129 GLTestHelper::SetupUnitQuad(position_loc); |
| 129 glDrawArrays(GL_TRIANGLES, 0, 6); | 130 glDrawArrays(GL_TRIANGLES, 0, 6); |
| 130 uint8 expected_color[] = { 0, 0, 255, 255, }; | 131 uint8_t expected_color[] = { |
| 132 0, 0, 255, 255, |
| 133 }; |
| 131 EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected_color)); | 134 EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected_color)); |
| 132 GLTestHelper::CheckGLError("no errors", __LINE__); | 135 GLTestHelper::CheckGLError("no errors", __LINE__); |
| 133 } | 136 } |
| 134 | 137 |
| 135 TEST_F(GLProgramTest, ShaderLengthSpecified) { | 138 TEST_F(GLProgramTest, ShaderLengthSpecified) { |
| 136 const std::string valid_shader_str = SHADER( | 139 const std::string valid_shader_str = SHADER( |
| 137 attribute vec4 a_position; | 140 attribute vec4 a_position; |
| 138 void main() | 141 void main() |
| 139 { | 142 { |
| 140 gl_Position = a_position; | 143 gl_Position = a_position; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 glLinkProgram(program); | 189 glLinkProgram(program); |
| 187 | 190 |
| 188 // This test will fail on NVidia Linux if not worked around. | 191 // This test will fail on NVidia Linux if not worked around. |
| 189 GLint color_location = glGetUniformLocation(program, "u_color"); | 192 GLint color_location = glGetUniformLocation(program, "u_color"); |
| 190 glUniform4f(color_location, 0.0f, 0.0f, 1.0f, 1.0f); | 193 glUniform4f(color_location, 0.0f, 0.0f, 1.0f, 1.0f); |
| 191 | 194 |
| 192 // We specifically don't call UseProgram again. | 195 // We specifically don't call UseProgram again. |
| 193 GLuint position_loc = glGetAttribLocation(program, "a_position"); | 196 GLuint position_loc = glGetAttribLocation(program, "a_position"); |
| 194 GLTestHelper::SetupUnitQuad(position_loc); | 197 GLTestHelper::SetupUnitQuad(position_loc); |
| 195 glDrawArrays(GL_TRIANGLES, 0, 6); | 198 glDrawArrays(GL_TRIANGLES, 0, 6); |
| 196 uint8 expected_color[] = { 0, 0, 255, 255, }; | 199 uint8_t expected_color[] = { |
| 200 0, 0, 255, 255, |
| 201 }; |
| 197 EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected_color)); | 202 EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected_color)); |
| 198 GLTestHelper::CheckGLError("no errors", __LINE__); | 203 GLTestHelper::CheckGLError("no errors", __LINE__); |
| 199 } | 204 } |
| 200 | 205 |
| 201 TEST_F(WebGLProgramTest, DeferCompileWithExt) { | 206 TEST_F(WebGLProgramTest, DeferCompileWithExt) { |
| 202 // This test must have extensions enabled. | 207 // This test must have extensions enabled. |
| 203 gles2::ContextGroup* context_group = gl_.decoder()->GetContextGroup(); | 208 gles2::ContextGroup* context_group = gl_.decoder()->GetContextGroup(); |
| 204 gles2::FeatureInfo* feature_info = context_group->feature_info(); | 209 gles2::FeatureInfo* feature_info = context_group->feature_info(); |
| 205 const gles2::FeatureInfo::FeatureFlags& flags = feature_info->feature_flags(); | 210 const gles2::FeatureInfo::FeatureFlags& flags = feature_info->feature_flags(); |
| 206 if (!flags.ext_frag_depth) | 211 if (!flags.ext_frag_depth) |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 | 276 |
| 272 glLinkProgram(program); | 277 glLinkProgram(program); |
| 273 | 278 |
| 274 GLint linked = 0; | 279 GLint linked = 0; |
| 275 glGetProgramiv(program, GL_LINK_STATUS, &linked); | 280 glGetProgramiv(program, GL_LINK_STATUS, &linked); |
| 276 EXPECT_NE(0, linked); | 281 EXPECT_NE(0, linked); |
| 277 } | 282 } |
| 278 | 283 |
| 279 } // namespace gpu | 284 } // namespace gpu |
| 280 | 285 |
| OLD | NEW |