diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-06 16:13:58 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-06 16:13:58 +0000 |
commit | 6b8cf1ad4ff0c7c145154d78e557eef666247a50 (patch) | |
tree | 56b75e13699c5faf75ba687624dc2dc2ac12abf0 /gpu/command_buffer/service/program_manager.cc | |
parent | ab50f5225ec04327d77e9bf3fe0fbc66473c77ab (diff) | |
download | chromium_src-6b8cf1ad4ff0c7c145154d78e557eef666247a50.zip chromium_src-6b8cf1ad4ff0c7c145154d78e557eef666247a50.tar.gz chromium_src-6b8cf1ad4ff0c7c145154d78e557eef666247a50.tar.bz2 |
Various fixes for the OpenGL ES 2.0 conformance tests.
Was failing 268 of 1198
Now failing 266 of 1198
ugh! all those changes only fixed 2 tests :-(
TEST=some unit test and conformance tests.
BUG=none
Review URL: http://codereview.chromium.org/1942004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46572 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/program_manager.cc')
-rw-r--r-- | gpu/command_buffer/service/program_manager.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/program_manager.cc b/gpu/command_buffer/service/program_manager.cc index afd9bce..5b86014 100644 --- a/gpu/command_buffer/service/program_manager.cc +++ b/gpu/command_buffer/service/program_manager.cc @@ -51,7 +51,8 @@ void ProgramManager::ProgramInfo::Update() { } } - GLint num_uniforms; + GLint num_uniforms = 0; + max_len = 0; glGetProgramiv(service_id_, GL_ACTIVE_UNIFORMS, &num_uniforms); glGetProgramiv(service_id_, GL_ACTIVE_UNIFORM_MAX_LENGTH, &max_len); name_buffer.reset(new char[max_len]); @@ -257,6 +258,18 @@ void ProgramManager::RemoveProgramInfo(GLuint client_id) { } } +bool ProgramManager::GetClientId(GLuint service_id, GLuint* client_id) const { + // This doesn't need to be fast. It's only used during slow queries. + for (ProgramInfoMap::const_iterator it = program_infos_.begin(); + it != program_infos_.end(); ++it) { + if (it->second->service_id() == service_id) { + *client_id = it->first; + return true; + } + } + return false; +} + } // namespace gles2 } // namespace gpu |