| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Tests for GLES2Implementation. | 5 // Tests for GLES2Implementation. |
| 6 | 6 |
| 7 #include "gpu/command_buffer/client/gles2_implementation.h" | 7 #include "gpu/command_buffer/client/gles2_implementation.h" |
| 8 | 8 |
| 9 #include <GLES2/gl2ext.h> | 9 #include <GLES2/gl2ext.h> |
| 10 #include "gpu/command_buffer/client/client_test_helper.h" | 10 #include "gpu/command_buffer/client/client_test_helper.h" |
| (...skipping 2275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2286 EXPECT_EQ(handle, kResult); | 2286 EXPECT_EQ(handle, kResult); |
| 2287 EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), gl_->GetError()); | 2287 EXPECT_EQ(static_cast<GLenum>(GL_NO_ERROR), gl_->GetError()); |
| 2288 } | 2288 } |
| 2289 | 2289 |
| 2290 TEST_F(GLES2ImplementationTest, GetString) { | 2290 TEST_F(GLES2ImplementationTest, GetString) { |
| 2291 const uint32 kBucketId = GLES2Implementation::kResultBucketId; | 2291 const uint32 kBucketId = GLES2Implementation::kResultBucketId; |
| 2292 const Str7 kString = {"foobar"}; | 2292 const Str7 kString = {"foobar"}; |
| 2293 // GL_CHROMIUM_map_sub GL_CHROMIUM_flipy are hard coded into | 2293 // GL_CHROMIUM_map_sub GL_CHROMIUM_flipy are hard coded into |
| 2294 // GLES2Implementation. | 2294 // GLES2Implementation. |
| 2295 const char* expected_str = | 2295 const char* expected_str = |
| 2296 "foobar GL_CHROMIUM_map_sub GL_CHROMIUM_flipy GL_EXT_unpack_subimage"; | 2296 "foobar " |
| 2297 "GL_CHROMIUM_map_sub " |
| 2298 "GL_CHROMIUM_flipy " |
| 2299 "GL_CHROMIUM_consistent_uniform_locations " |
| 2300 "GL_EXT_unpack_subimage"; |
| 2297 const char kBad = 0x12; | 2301 const char kBad = 0x12; |
| 2298 struct Cmds { | 2302 struct Cmds { |
| 2299 cmd::SetBucketSize set_bucket_size1; | 2303 cmd::SetBucketSize set_bucket_size1; |
| 2300 GetString get_string; | 2304 GetString get_string; |
| 2301 cmd::GetBucketStart get_bucket_start; | 2305 cmd::GetBucketStart get_bucket_start; |
| 2302 cmd::SetToken set_token1; | 2306 cmd::SetToken set_token1; |
| 2303 cmd::SetBucketSize set_bucket_size2; | 2307 cmd::SetBucketSize set_bucket_size2; |
| 2304 }; | 2308 }; |
| 2305 ExpectedMemoryInfo mem1 = GetExpectedMemory(MaxTransferBufferSize()); | 2309 ExpectedMemoryInfo mem1 = GetExpectedMemory(MaxTransferBufferSize()); |
| 2306 ExpectedMemoryInfo result1 = | 2310 ExpectedMemoryInfo result1 = |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2547 EXPECT_EQ(0xBDu, available); | 2551 EXPECT_EQ(0xBDu, available); |
| 2548 EXPECT_EQ(GL_INVALID_OPERATION, CheckError()); | 2552 EXPECT_EQ(GL_INVALID_OPERATION, CheckError()); |
| 2549 | 2553 |
| 2550 // Test GetQueryObjectuivEXT CheckResultsAvailable | 2554 // Test GetQueryObjectuivEXT CheckResultsAvailable |
| 2551 ClearCommands(); | 2555 ClearCommands(); |
| 2552 gl_->GetQueryObjectuivEXT(id1, GL_QUERY_RESULT_AVAILABLE_EXT, &available); | 2556 gl_->GetQueryObjectuivEXT(id1, GL_QUERY_RESULT_AVAILABLE_EXT, &available); |
| 2553 EXPECT_TRUE(NoCommandsWritten()); | 2557 EXPECT_TRUE(NoCommandsWritten()); |
| 2554 EXPECT_EQ(0u, available); | 2558 EXPECT_EQ(0u, available); |
| 2555 } | 2559 } |
| 2556 | 2560 |
| 2561 TEST_F(GLES2ImplementationTest, GetUniformLocationsCHROMIUM) { |
| 2562 static const GLUniformDefinitionCHROMIUM good_defs[] = { |
| 2563 { GL_FLOAT_VEC4, 1, "moo", }, |
| 2564 { GL_FLOAT_VEC4, 4, "bar", }, |
| 2565 { GL_FLOAT_VEC4, 3, "foo", }, |
| 2566 }; |
| 2567 |
| 2568 static const GLUniformDefinitionCHROMIUM bad_defs[] = { |
| 2569 { GL_FLOAT_VEC4, 1, "moo", }, |
| 2570 { GL_FLOAT_VEC4, 0, "bar", }, |
| 2571 { GL_FLOAT_VEC4, 3, "foo", }, |
| 2572 }; |
| 2573 |
| 2574 // Test bad count |
| 2575 GLint locations[50] = { -1, }; |
| 2576 gl_->GetUniformLocationsCHROMIUM(bad_defs, 0, 1, locations); |
| 2577 EXPECT_EQ(GL_INVALID_VALUE, CheckError()); |
| 2578 EXPECT_EQ(-1, locations[0]); |
| 2579 |
| 2580 // Test bad size. |
| 2581 gl_->GetUniformLocationsCHROMIUM( |
| 2582 bad_defs, arraysize(bad_defs), 1, locations); |
| 2583 EXPECT_EQ(GL_INVALID_VALUE, CheckError()); |
| 2584 EXPECT_EQ(-1, locations[0]); |
| 2585 |
| 2586 // Test max_locations |
| 2587 gl_->GetUniformLocationsCHROMIUM( |
| 2588 good_defs, arraysize(good_defs), 3, locations); |
| 2589 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(2, 0)), |
| 2590 locations[0]); |
| 2591 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 0)), |
| 2592 locations[1]); |
| 2593 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 1)), |
| 2594 locations[2]); |
| 2595 EXPECT_EQ(0, locations[3]); |
| 2596 |
| 2597 // Test all. |
| 2598 gl_->GetUniformLocationsCHROMIUM( |
| 2599 good_defs, arraysize(good_defs), arraysize(locations), locations); |
| 2600 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(2, 0)), |
| 2601 locations[0]); |
| 2602 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 0)), |
| 2603 locations[1]); |
| 2604 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 1)), |
| 2605 locations[2]); |
| 2606 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 2)), |
| 2607 locations[3]); |
| 2608 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 3)), |
| 2609 locations[4]); |
| 2610 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(1, 0)), |
| 2611 locations[5]); |
| 2612 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(1, 1)), |
| 2613 locations[6]); |
| 2614 EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(1, 2)), |
| 2615 locations[7]); |
| 2616 EXPECT_EQ(0, locations[8]); |
| 2617 } |
| 2618 |
| 2557 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" | 2619 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" |
| 2558 | 2620 |
| 2559 } // namespace gles2 | 2621 } // namespace gles2 |
| 2560 } // namespace gpu | 2622 } // namespace gpu |
| 2561 | 2623 |
| 2562 | 2624 |
| OLD | NEW |