| 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 #include "gpu/command_buffer/service/program_manager.h" | 5 #include "gpu/command_buffer/service/program_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
| (...skipping 1365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1376 | 1376 |
| 1377 ProgramManager::ProgramInfo* program_info = manager_.CreateProgramInfo( | 1377 ProgramManager::ProgramInfo* program_info = manager_.CreateProgramInfo( |
| 1378 kNewProgramClientId, kNewProgramServiceId); | 1378 kNewProgramClientId, kNewProgramServiceId); |
| 1379 ASSERT_TRUE(program_info != NULL); | 1379 ASSERT_TRUE(program_info != NULL); |
| 1380 program_info->AttachShader(&shader_manager_, new_vertex_shader); | 1380 program_info->AttachShader(&shader_manager_, new_vertex_shader); |
| 1381 program_info->AttachShader(&shader_manager_, fragment_shader_); | 1381 program_info->AttachShader(&shader_manager_, fragment_shader_); |
| 1382 | 1382 |
| 1383 SetExpectationsForNoCompile(new_vertex_shader); | 1383 SetExpectationsForNoCompile(new_vertex_shader); |
| 1384 | 1384 |
| 1385 manager_.DoCompileShader(new_vertex_shader, NULL, NULL); | 1385 manager_.DoCompileShader(new_vertex_shader, NULL, NULL); |
| 1386 EXPECT_EQ(ShaderManager::ShaderInfo::PENDING_DEFERRED_COMPILE, |
| 1387 new_vertex_shader->compilation_status()); |
| 1386 | 1388 |
| 1387 new_vertex_shader->UpdateSource("different!"); | 1389 new_vertex_shader->UpdateSource("different!"); |
| 1388 EXPECT_EQ(original_source, | 1390 EXPECT_EQ(original_source, |
| 1389 *new_vertex_shader->deferred_compilation_source()); | 1391 *new_vertex_shader->deferred_compilation_source()); |
| 1390 | 1392 |
| 1391 EXPECT_FALSE(new_vertex_shader->source_compiled()); | 1393 EXPECT_EQ(ShaderManager::ShaderInfo::PENDING_DEFERRED_COMPILE, |
| 1392 EXPECT_FALSE(fragment_shader_->source_compiled()); | 1394 new_vertex_shader->compilation_status()); |
| 1395 EXPECT_EQ(ShaderManager::ShaderInfo::PENDING_DEFERRED_COMPILE, |
| 1396 fragment_shader_->compilation_status()); |
| 1393 | 1397 |
| 1394 SetExpectationsForNoCompile(fragment_shader_); | 1398 SetExpectationsForNoCompile(fragment_shader_); |
| 1395 SetExpectationsForNotCachingProgram(program_info, | 1399 SetExpectationsForNotCachingProgram(program_info, |
| 1396 new_vertex_shader, | 1400 new_vertex_shader, |
| 1397 fragment_shader_); | 1401 fragment_shader_); |
| 1398 SetExpectationsForProgramLoad(kNewProgramServiceId, | 1402 SetExpectationsForProgramLoad(kNewProgramServiceId, |
| 1399 program_info, | 1403 program_info, |
| 1400 new_vertex_shader, | 1404 new_vertex_shader, |
| 1401 fragment_shader_, | 1405 fragment_shader_, |
| 1402 ProgramCache::PROGRAM_LOAD_SUCCESS); | 1406 ProgramCache::PROGRAM_LOAD_SUCCESS); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1434 | 1438 |
| 1435 const std::string differentSource = "different!"; | 1439 const std::string differentSource = "different!"; |
| 1436 new_vertex_shader->UpdateSource(differentSource.c_str()); | 1440 new_vertex_shader->UpdateSource(differentSource.c_str()); |
| 1437 SetExpectationsForSuccessCompile(new_vertex_shader); | 1441 SetExpectationsForSuccessCompile(new_vertex_shader); |
| 1438 | 1442 |
| 1439 FeatureInfo::Ref info(new FeatureInfo()); | 1443 FeatureInfo::Ref info(new FeatureInfo()); |
| 1440 manager_.DoCompileShader(new_vertex_shader, NULL, info.get()); | 1444 manager_.DoCompileShader(new_vertex_shader, NULL, info.get()); |
| 1441 EXPECT_EQ(differentSource, | 1445 EXPECT_EQ(differentSource, |
| 1442 *new_vertex_shader->deferred_compilation_source()); | 1446 *new_vertex_shader->deferred_compilation_source()); |
| 1443 | 1447 |
| 1444 EXPECT_TRUE(new_vertex_shader->source_compiled()); | 1448 EXPECT_EQ(ShaderManager::ShaderInfo::COMPILED, |
| 1445 EXPECT_FALSE(fragment_shader_->source_compiled()); | 1449 new_vertex_shader->compilation_status()); |
| 1450 EXPECT_EQ(ShaderManager::ShaderInfo::PENDING_DEFERRED_COMPILE, |
| 1451 fragment_shader_->compilation_status()); |
| 1446 | 1452 |
| 1447 // so we don't recompile because we were pending originally | 1453 // so we don't recompile because we were pending originally |
| 1448 SetExpectationsForNoCompile(new_vertex_shader); | 1454 SetExpectationsForNoCompile(new_vertex_shader); |
| 1449 SetExpectationsForSuccessCompile(fragment_shader_); | 1455 SetExpectationsForSuccessCompile(fragment_shader_); |
| 1450 SetExpectationsForProgramCached(program_info, | 1456 SetExpectationsForProgramCached(program_info, |
| 1451 new_vertex_shader, | 1457 new_vertex_shader, |
| 1452 fragment_shader_); | 1458 fragment_shader_); |
| 1453 SetExpectationsForProgramLink(kNewProgramServiceId); | 1459 SetExpectationsForProgramLink(kNewProgramServiceId); |
| 1454 | 1460 |
| 1455 EXPECT_TRUE(program_info->Link(&shader_manager_, NULL, NULL, info.get())); | 1461 EXPECT_TRUE(program_info->Link(&shader_manager_, NULL, NULL, info.get())); |
| 1456 } | 1462 } |
| 1457 | 1463 |
| 1458 } // namespace gles2 | 1464 } // namespace gles2 |
| 1459 } // namespace gpu | 1465 } // namespace gpu |
| OLD | NEW |