| Index: gpu/command_buffer/service/shader_manager.cc
|
| diff --git a/gpu/command_buffer/service/shader_manager.cc b/gpu/command_buffer/service/shader_manager.cc
|
| index 94ffe42ce4de5a2d82a0d367b8a191734bcd9fb3..beab27281f25906723cb124d42ca1be9da492d7d 100644
|
| --- a/gpu/command_buffer/service/shader_manager.cc
|
| +++ b/gpu/command_buffer/service/shader_manager.cc
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/strings/string_util.h"
|
| +#include "gpu/command_buffer/service/progress_reporter.h"
|
|
|
| namespace gpu {
|
| namespace gles2 {
|
| @@ -273,13 +274,16 @@ ShaderManager::~ShaderManager() {
|
| DCHECK(shaders_.empty());
|
| }
|
|
|
| -void ShaderManager::Destroy(bool have_context) {
|
| +void ShaderManager::Destroy(bool have_context,
|
| + ProgressReporter* progress_reporter) {
|
| + DCHECK(progress_reporter);
|
| while (!shaders_.empty()) {
|
| if (have_context) {
|
| Shader* shader = shaders_.begin()->second.get();
|
| shader->Destroy();
|
| }
|
| shaders_.erase(shaders_.begin());
|
| + progress_reporter->ReportProgress();
|
| }
|
| }
|
|
|
|
|