Index: gpu/command_buffer/service/program_manager.cc |
diff --git a/gpu/command_buffer/service/program_manager.cc b/gpu/command_buffer/service/program_manager.cc |
index d362cdee50cebf0b44fafd8b6e799c05faebf521..c64e2bf6bf36f07216c345df85b2333e1591f71b 100644 |
--- a/gpu/command_buffer/service/program_manager.cc |
+++ b/gpu/command_buffer/service/program_manager.cc |
@@ -559,14 +559,14 @@ bool Program::Link(ShaderManager* manager, |
&bind_attrib_location_map_); |
if (status == ProgramCache::LINK_SUCCEEDED) { |
- ProgramCache::ProgramLoadResult success = cache->LoadLinkedProgram( |
- service_id(), |
- attached_shaders_[0], |
- vertex_translator, |
- attached_shaders_[1], |
- fragment_translator, |
- &bind_attrib_location_map_, |
- shader_callback); |
+ ProgramCache::ProgramLoadResult success = |
+ cache->LoadLinkedProgram(service_id(), |
+ attached_shaders_[0].get(), |
+ vertex_translator, |
+ attached_shaders_[1].get(), |
+ fragment_translator, |
+ &bind_attrib_location_map_, |
+ shader_callback); |
link = success != ProgramCache::PROGRAM_LOAD_SUCCESS; |
UMA_HISTOGRAM_BOOLEAN("GPU.ProgramCache.LoadBinarySuccess", !link); |
} |
@@ -583,7 +583,7 @@ bool Program::Link(ShaderManager* manager, |
vertex_translator, |
fragment_translator); |
manager_->ForceCompileShader(shader->deferred_compilation_source(), |
- attached_shaders_[i], |
+ attached_shaders_[i].get(), |
translator, |
feature_info); |
DCHECK(shader->IsValid()); |
@@ -610,9 +610,9 @@ bool Program::Link(ShaderManager* manager, |
if (link) { |
if (cache) { |
cache->SaveLinkedProgram(service_id(), |
- attached_shaders_[0], |
+ attached_shaders_[0].get(), |
vertex_translator, |
- attached_shaders_[1], |
+ attached_shaders_[1].get(), |
fragment_translator, |
&bind_attrib_location_map_, |
shader_callback); |
@@ -951,7 +951,7 @@ bool Program::AttachShader( |
DCHECK(shader_manager); |
DCHECK(shader); |
int index = ShaderTypeToIndex(shader->shader_type()); |
- if (attached_shaders_[index] != NULL) { |
+ if (attached_shaders_[index].get() != NULL) { |
return false; |
} |
attached_shaders_[index] = scoped_refptr<Shader>(shader); |
@@ -976,15 +976,15 @@ bool Program::DetachShader( |
void Program::DetachShaders(ShaderManager* shader_manager) { |
DCHECK(shader_manager); |
for (int ii = 0; ii < kMaxAttachedShaders; ++ii) { |
- if (attached_shaders_[ii]) { |
- DetachShader(shader_manager, attached_shaders_[ii]); |
+ if (attached_shaders_[ii].get()) { |
+ DetachShader(shader_manager, attached_shaders_[ii].get()); |
} |
} |
} |
bool Program::CanLink() const { |
for (int ii = 0; ii < kMaxAttachedShaders; ++ii) { |
- if (!attached_shaders_[ii] || !attached_shaders_[ii]->IsValid()) { |
+ if (!attached_shaders_[ii].get() || !attached_shaders_[ii]->IsValid()) { |
return false; |
} |
} |
@@ -998,7 +998,7 @@ bool Program::DetectAttribLocationBindingConflicts() const { |
// Find out if an attribute is declared in this program's shaders. |
bool active = false; |
for (int ii = 0; ii < kMaxAttachedShaders; ++ii) { |
- if (!attached_shaders_[ii] || !attached_shaders_[ii]->IsValid()) |
+ if (!attached_shaders_[ii].get() || !attached_shaders_[ii]->IsValid()) |
continue; |
if (attached_shaders_[ii]->GetAttribInfo(it->first)) { |
active = true; |
@@ -1145,7 +1145,7 @@ Program* ProgramManager::CreateProgram( |
scoped_refptr<Program>( |
new Program(this, service_id)))); |
DCHECK(result.second); |
- return result.first->second; |
+ return result.first->second.get(); |
} |
Program* ProgramManager::GetProgram(GLuint client_id) { |