| 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 dcc6745db970d74ffbed8b8d650104b3a91aa295..9f22ce96e6dfada3c80908abfc272a854a46b1b4 100644
|
| --- a/gpu/command_buffer/service/program_manager.cc
|
| +++ b/gpu/command_buffer/service/program_manager.cc
|
| @@ -501,9 +501,9 @@ bool ProgramManager::ProgramInfo::Link(ShaderManager* manager,
|
| if (status == ProgramCache::LINK_SUCCEEDED) {
|
| ProgramCache::ProgramLoadResult success = cache->LoadLinkedProgram(
|
| service_id(),
|
| - attached_shaders_[0],
|
| - attached_shaders_[1],
|
| - &bind_attrib_location_map_);
|
| + attached_shaders_[0].get(),
|
| + attached_shaders_[1].get(),
|
| + &bind_attrib_location_map_);
|
| link = success != ProgramCache::PROGRAM_LOAD_SUCCESS;
|
| UMA_HISTOGRAM_BOOLEAN("GPU.ProgramCache.LoadBinarySuccess", !link);
|
| }
|
| @@ -520,7 +520,7 @@ bool ProgramManager::ProgramInfo::Link(ShaderManager* manager,
|
| vertex_translator,
|
| fragment_translator);
|
| manager_->ForceCompileShader(info->deferred_compilation_source(),
|
| - attached_shaders_[i],
|
| + attached_shaders_[i].get(),
|
| translator,
|
| feature_info);
|
| CHECK(info->IsValid());
|
| @@ -546,8 +546,8 @@ bool ProgramManager::ProgramInfo::Link(ShaderManager* manager,
|
| if (link) {
|
| if (cache) {
|
| cache->SaveLinkedProgram(service_id(),
|
| - attached_shaders_[0],
|
| - attached_shaders_[1],
|
| + attached_shaders_[0].get(),
|
| + attached_shaders_[1].get(),
|
| &bind_attrib_location_map_);
|
| }
|
| UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| @@ -695,7 +695,7 @@ void ProgramManager::ProgramInfo::GetCorrectedVariableInfo(
|
| if (shader_info) {
|
| const ShaderManager::ShaderInfo::VariableInfo* variable_info =
|
| use_uniforms ? shader_info->GetUniformInfo(test_name) :
|
| - shader_info->GetAttribInfo(test_name);
|
| + shader_info->GetAttribInfo(test_name);
|
| // Note: There is an assuption here that if an attrib is defined in more
|
| // than 1 attached shader their types and sizes match. Should we check
|
| // for that case?
|
| @@ -714,9 +714,9 @@ void ProgramManager::ProgramInfo::GetCorrectedVariableInfo(
|
| }
|
|
|
| bool ProgramManager::ProgramInfo::AddUniformInfo(
|
| - GLsizei size, GLenum type, GLint location, GLint fake_base_location,
|
| - const std::string& name, const std::string& original_name,
|
| - size_t* next_available_index) {
|
| + GLsizei size, GLenum type, GLint location, GLint fake_base_location,
|
| + const std::string& name, const std::string& original_name,
|
| + size_t* next_available_index) {
|
| DCHECK(next_available_index);
|
| const char* kArraySpec = "[0]";
|
| size_t uniform_index =
|
| @@ -764,9 +764,9 @@ bool ProgramManager::ProgramInfo::AddUniformInfo(
|
| }
|
|
|
| info.is_array =
|
| - (size > 1 ||
|
| - (info.name.size() > 3 &&
|
| - info.name.rfind(kArraySpec) == info.name.size() - 3));
|
| + (size > 1 ||
|
| + (info.name.size() > 3 &&
|
| + info.name.rfind(kArraySpec) == info.name.size() - 3));
|
|
|
| if (info.IsSampler()) {
|
| sampler_indices_.push_back(info.fake_location_base);
|
| @@ -828,39 +828,39 @@ bool ProgramManager::ProgramInfo::SetSamplers(
|
| void ProgramManager::ProgramInfo::GetProgramiv(GLenum pname, GLint* params) {
|
| switch (pname) {
|
| case GL_ACTIVE_ATTRIBUTES:
|
| - *params = attrib_infos_.size();
|
| - break;
|
| + *params = attrib_infos_.size();
|
| + break;
|
| case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH:
|
| - // Notice +1 to accomodate NULL terminator.
|
| - *params = max_attrib_name_length_ + 1;
|
| - break;
|
| + // Notice +1 to accomodate NULL terminator.
|
| + *params = max_attrib_name_length_ + 1;
|
| + break;
|
| case GL_ACTIVE_UNIFORMS:
|
| - *params = num_uniforms_;
|
| - break;
|
| + *params = num_uniforms_;
|
| + break;
|
| case GL_ACTIVE_UNIFORM_MAX_LENGTH:
|
| - // Notice +1 to accomodate NULL terminator.
|
| - *params = max_uniform_name_length_ + 1;
|
| - break;
|
| + // Notice +1 to accomodate NULL terminator.
|
| + *params = max_uniform_name_length_ + 1;
|
| + break;
|
| case GL_LINK_STATUS:
|
| - *params = link_status_;
|
| - break;
|
| + *params = link_status_;
|
| + break;
|
| case GL_INFO_LOG_LENGTH:
|
| - // Notice +1 to accomodate NULL terminator.
|
| - *params = log_info_.get() ? (log_info_->size() + 1) : 0;
|
| - break;
|
| + // Notice +1 to accomodate NULL terminator.
|
| + *params = log_info_.get() ? (log_info_->size() + 1) : 0;
|
| + break;
|
| case GL_DELETE_STATUS:
|
| - *params = deleted_;
|
| - break;
|
| + *params = deleted_;
|
| + break;
|
| case GL_VALIDATE_STATUS:
|
| - if (!IsValid()) {
|
| - *params = GL_FALSE;
|
| - } else {
|
| - glGetProgramiv(service_id_, pname, params);
|
| - }
|
| - break;
|
| - default:
|
| + if (!IsValid()) {
|
| + *params = GL_FALSE;
|
| + } else {
|
| glGetProgramiv(service_id_, pname, params);
|
| - break;
|
| + }
|
| + break;
|
| + default:
|
| + glGetProgramiv(service_id_, pname, params);
|
| + break;
|
| }
|
| }
|
|
|
| @@ -870,7 +870,7 @@ bool ProgramManager::ProgramInfo::AttachShader(
|
| DCHECK(shader_manager);
|
| DCHECK(info);
|
| int index = ShaderTypeToIndex(info->shader_type());
|
| - if (attached_shaders_[index] != NULL) {
|
| + if (attached_shaders_[index].get() != NULL) {
|
| return false;
|
| }
|
| attached_shaders_[index] = ShaderManager::ShaderInfo::Ref(info);
|
| @@ -894,15 +894,15 @@ bool ProgramManager::ProgramInfo::DetachShader(
|
| void ProgramManager::ProgramInfo::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 ProgramManager::ProgramInfo::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;
|
| }
|
| }
|
| @@ -912,11 +912,11 @@ bool ProgramManager::ProgramInfo::CanLink() const {
|
| bool ProgramManager::ProgramInfo::DetectAttribLocationBindingConflicts() const {
|
| std::set<GLint> location_binding_used;
|
| for (LocationMap::const_iterator it = bind_attrib_location_map_.begin();
|
| - it != bind_attrib_location_map_.end(); ++it) {
|
| + it != bind_attrib_location_map_.end(); ++it) {
|
| // 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;
|
| @@ -935,7 +935,7 @@ bool ProgramManager::ProgramInfo::DetectAttribLocationBindingConflicts() const {
|
|
|
| static uint32 ComputeOffset(const void* start, const void* position) {
|
| return static_cast<const uint8*>(position) -
|
| - static_cast<const uint8*>(start);
|
| + static_cast<const uint8*>(start);
|
| }
|
|
|
| void ProgramManager::ProgramInfo::GetProgramInfo(
|
| @@ -1032,11 +1032,11 @@ ProgramManager::ProgramInfo::~ProgramInfo() {
|
|
|
| ProgramManager::ProgramManager(ProgramCache* program_cache)
|
| : program_info_count_(0),
|
| - have_context_(true),
|
| - disable_workarounds_(
|
| - CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kDisableGpuDriverBugWorkarounds)),
|
| - program_cache_(program_cache) { }
|
| + have_context_(true),
|
| + disable_workarounds_(
|
| + CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kDisableGpuDriverBugWorkarounds)),
|
| + program_cache_(program_cache) { }
|
|
|
| ProgramManager::~ProgramManager() {
|
| DCHECK(program_infos_.empty());
|
| @@ -1062,12 +1062,13 @@ ProgramManager::ProgramInfo* ProgramManager::CreateProgramInfo(
|
| std::make_pair(client_id,
|
| ProgramInfo::Ref(new ProgramInfo(this, service_id))));
|
| DCHECK(result.second);
|
| - return result.first->second;
|
| + return result.first->second.get();
|
| }
|
|
|
| ProgramManager::ProgramInfo* ProgramManager::GetProgramInfo(GLuint client_id) {
|
| ProgramInfoMap::iterator it = program_infos_.find(client_id);
|
| - return it != program_infos_.end() ? it->second : NULL;
|
| + return .get()
|
| + return it != program_infos_.end() ? it->second : NULL;
|
| }
|
|
|
| bool ProgramManager::GetClientId(GLuint service_id, GLuint* client_id) const {
|
|
|