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

Unified Diff: gpu/command_buffer/tests/gl_bind_uniform_location_unittest.cc

Issue 10635011: Add glBindUniformLocationCHROMIUM (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/tests/gl_bind_uniform_location_unittest.cc
diff --git a/gpu/command_buffer/tests/gl_consistent_uniform_locations_unittest.cc b/gpu/command_buffer/tests/gl_bind_uniform_location_unittest.cc
similarity index 55%
rename from gpu/command_buffer/tests/gl_consistent_uniform_locations_unittest.cc
rename to gpu/command_buffer/tests/gl_bind_uniform_location_unittest.cc
index e5f7dc303106e051e596c68145f87a0f2266ae1a..f942c151eea50c63f6cae939d9f5147c194b4696 100644
--- a/gpu/command_buffer/tests/gl_consistent_uniform_locations_unittest.cc
+++ b/gpu/command_buffer/tests/gl_bind_uniform_location_unittest.cc
@@ -14,7 +14,7 @@
namespace gpu {
-class ConsistenUniformLocationsTest : public testing::Test {
+class BindUniformLocationTest : public testing::Test {
protected:
static const GLsizei kResolution = 4;
virtual void SetUp() {
@@ -28,18 +28,9 @@ class ConsistenUniformLocationsTest : public testing::Test {
GLManager gl_;
};
-namespace {
-
-struct FormatType {
- GLenum format;
- GLenum type;
-};
-
-} // anonymous namespace
-
-TEST_F(ConsistenUniformLocationsTest, Basic) {
+TEST_F(BindUniformLocationTest, Basic) {
ASSERT_TRUE(
- GLTestHelper::HasExtension("GL_CHROMIUM_consistent_uniform_locations"));
+ GLTestHelper::HasExtension("GL_CHROMIUM_bind_uniform_location"));
static const char* v_shader_str = SHADER(
attribute vec4 a_position;
@@ -59,23 +50,29 @@ TEST_F(ConsistenUniformLocationsTest, Basic) {
}
);
- static const GLUniformDefinitionCHROMIUM defs[] = {
- { GL_FLOAT_VEC4, 1, "u_colorC", },
- { GL_FLOAT_VEC4, 2, "u_colorB", },
- { GL_FLOAT_VEC4, 1, "u_colorA", },
- };
+ GLint color_a_location = 3;
+ GLint color_b_location = 10;
+ GLint color_c_location = 5;
- GLuint program = GLTestHelper::LoadProgram(v_shader_str, f_shader_str);
+ GLuint vertex_shader = GLTestHelper::LoadShader(
+ GL_VERTEX_SHADER, v_shader_str);
+ GLuint fragment_shader = GLTestHelper::LoadShader(
+ GL_FRAGMENT_SHADER, f_shader_str);
- GLint locations[4];
+ GLuint program = glCreateProgram();
- glGetUniformLocationsCHROMIUM(
- program, defs, arraysize(defs), arraysize(locations), locations);
+ glBindUniformLocationCHROMIUM(program, color_a_location, "u_colorA");
+ glBindUniformLocationCHROMIUM(program, color_b_location, "u_colorB[0]");
+ glBindUniformLocationCHROMIUM(program, color_c_location, "u_colorC");
- GLint u_colorCLocation = locations[0];
- GLint u_colorB0Location = locations[1];
- GLint u_colorB1Location = locations[2];
- GLint u_colorALocation = locations[3];
+ glAttachShader(program, vertex_shader);
+ glAttachShader(program, fragment_shader);
+ // Link the program
+ glLinkProgram(program);
+ // Check the link status
+ GLint linked = 0;
+ glGetProgramiv(program, GL_LINK_STATUS, &linked);
+ EXPECT_EQ(1, linked);
GLint position_loc = glGetAttribLocation(program, "a_position");
@@ -83,10 +80,13 @@ TEST_F(ConsistenUniformLocationsTest, Basic) {
glUseProgram(program);
- glUniform4f(u_colorALocation, 0.25f, 0.0f, 0.0f, 0.0f);
- glUniform4f(u_colorB0Location, 0.0f, 0.50f, 0.0f, 0.0f);
- glUniform4f(u_colorB1Location, 0.0f, 0.0f, 0.75f, 0.0f);
- glUniform4f(u_colorCLocation, 0.0f, 0.0f, 0.0f, 1.0f);
+ static const float color_b[] = {
+ 0.0f, 0.50f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.75f, 0.0f,
+ };
+ glUniform4f(color_a_location, 0.25f, 0.0f, 0.0f, 0.0f);
+ glUniform4fv(color_b_location, 2, color_b);
+ glUniform4f(color_c_location, 0.0f, 0.0f, 0.0f, 1.0f);
glDrawArrays(GL_TRIANGLES, 0, 6);
« no previous file with comments | « gpu/command_buffer/service/test_helper.cc ('k') | gpu/command_buffer/tests/gl_consistent_uniform_locations_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698