| Index: gpu/command_buffer/tests/gl_program_unittests.cc
|
| diff --git a/gpu/command_buffer/tests/gl_program_unittests.cc b/gpu/command_buffer/tests/gl_program_unittests.cc
|
| deleted file mode 100644
|
| index 0314960adaf1b38691479c2f08aac8905b27f744..0000000000000000000000000000000000000000
|
| --- a/gpu/command_buffer/tests/gl_program_unittests.cc
|
| +++ /dev/null
|
| @@ -1,166 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include <GLES2/gl2.h>
|
| -#include <GLES2/gl2ext.h>
|
| -
|
| -#include "gpu/command_buffer/tests/gl_manager.h"
|
| -#include "gpu/command_buffer/tests/gl_test_utils.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -#define SHADER(Src) #Src
|
| -
|
| -namespace gpu {
|
| -
|
| -class GLProgramTest : public testing::Test {
|
| - protected:
|
| - virtual void SetUp() {
|
| - gl_.Initialize(GLManager::Options());
|
| - }
|
| -
|
| - virtual void TearDown() {
|
| - gl_.Destroy();
|
| - }
|
| -
|
| - GLManager gl_;
|
| -};
|
| -
|
| -TEST_F(GLProgramTest, GetSetUniform) {
|
| - static const char* v_shader_str = SHADER(
|
| - attribute vec4 a_vertex;
|
| - attribute vec3 a_normal;
|
| -
|
| - uniform mat4 u_modelViewProjMatrix;
|
| -
|
| - struct MyStruct
|
| - {
|
| - int x;
|
| - int y;
|
| - };
|
| -
|
| - uniform MyStruct u_struct;
|
| - uniform float u_array[4];
|
| -
|
| - varying vec3 v_normal;
|
| -
|
| - void main()
|
| - {
|
| - v_normal = a_normal;
|
| - gl_Position = u_modelViewProjMatrix * a_vertex +
|
| - vec4(u_struct.x, u_struct.y, 0, 1) +
|
| - vec4(u_array[0], u_array[1], u_array[2], u_array[3]);
|
| - }
|
| - );
|
| - static const char* f_shader_str = SHADER(
|
| - varying mediump vec3 v_normal;
|
| -
|
| - void main()
|
| - {
|
| - gl_FragColor = vec4(v_normal/2.0+vec3(0.5), 1);
|
| - }
|
| - );
|
| -
|
| - // Load the program.
|
| - GLuint program = GLTestHelper::LoadProgram(v_shader_str, f_shader_str);
|
| - glUseProgram(program);
|
| - // Relink program.
|
| - glLinkProgram(program);
|
| -
|
| - // These tests will fail on NVidia if not worked around by
|
| - // command buffer.
|
| - GLint location_sx = glGetUniformLocation(program, "u_struct.x");
|
| - GLint location_array_0 = glGetUniformLocation(program, "u_array[0]");
|
| -
|
| - glUniform1i(location_sx, 3);
|
| - glUniform1f(location_array_0, 123);
|
| -
|
| - GLint int_value = 0;
|
| - GLfloat float_value = 0;
|
| -
|
| - glGetUniformiv(program, location_sx, &int_value);
|
| - EXPECT_EQ(3, int_value);
|
| - glGetUniformfv(program, location_array_0, &float_value);
|
| - EXPECT_EQ(123.0f, float_value);
|
| -
|
| - GLTestHelper::CheckGLError("no errors", __LINE__);
|
| -}
|
| -
|
| -TEST_F(GLProgramTest, NewShaderInCurrentProgram) {
|
| - static const char* v_shader_str = SHADER(
|
| - attribute vec4 a_position;
|
| - void main()
|
| - {
|
| - gl_Position = a_position;
|
| - }
|
| - );
|
| - static const char* f_red_shader_str = SHADER(
|
| - void main()
|
| - {
|
| - gl_FragColor = vec4(1, 0, 0, 1);
|
| - }
|
| - );
|
| - static const char* f_blue_shader_str = SHADER(
|
| - void main()
|
| - {
|
| - gl_FragColor = vec4(0, 0, 1, 1);
|
| - }
|
| - );
|
| -
|
| - // Load the program.
|
| - GLuint vs = GLTestHelper::LoadShader(GL_VERTEX_SHADER, v_shader_str);
|
| - GLuint fs = GLTestHelper::LoadShader(GL_FRAGMENT_SHADER, f_red_shader_str);
|
| - GLuint program = GLTestHelper::SetupProgram(vs, fs);
|
| - glUseProgram(program);
|
| - glShaderSource(fs, 1, &f_blue_shader_str, NULL);
|
| - glCompileShader(fs);
|
| - glLinkProgram(program);
|
| - // We specifically don't call UseProgram again.
|
| - GLuint position_loc = glGetAttribLocation(program, "a_position");
|
| - GLTestHelper::SetupUnitQuad(position_loc);
|
| - glDrawArrays(GL_TRIANGLES, 0, 6);
|
| - uint8 expected_color[] = { 0, 0, 255, 255, };
|
| - EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected_color));
|
| - GLTestHelper::CheckGLError("no errors", __LINE__);
|
| -}
|
| -
|
| -TEST_F(GLProgramTest, UniformsInCurrentProgram) {
|
| - static const char* v_shader_str = SHADER(
|
| - attribute vec4 a_position;
|
| - void main()
|
| - {
|
| - gl_Position = a_position;
|
| - }
|
| - );
|
| - static const char* f_shader_str = SHADER(
|
| - precision mediump float;
|
| - uniform vec4 u_color;
|
| - void main()
|
| - {
|
| - gl_FragColor = u_color;;
|
| - }
|
| - );
|
| -
|
| - // Load the program.
|
| - GLuint program = GLTestHelper::LoadProgram(v_shader_str, f_shader_str);
|
| - glUseProgram(program);
|
| -
|
| - // Relink.
|
| - glLinkProgram(program);
|
| -
|
| - // This test will fail on NVidia Linux if not worked around.
|
| - GLint color_location = glGetUniformLocation(program, "u_color");
|
| - glUniform4f(color_location, 0.0f, 0.0f, 1.0f, 1.0f);
|
| -
|
| - // We specifically don't call UseProgram again.
|
| - GLuint position_loc = glGetAttribLocation(program, "a_position");
|
| - GLTestHelper::SetupUnitQuad(position_loc);
|
| - glDrawArrays(GL_TRIANGLES, 0, 6);
|
| - uint8 expected_color[] = { 0, 0, 255, 255, };
|
| - EXPECT_TRUE(GLTestHelper::CheckPixels(0, 0, 1, 1, 0, expected_color));
|
| - GLTestHelper::CheckGLError("no errors", __LINE__);
|
| -}
|
| -
|
| -} // namespace gpu
|
| -
|
|
|