diff options
author | dmurph@chromium.org <dmurph@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-18 22:53:31 +0000 |
---|---|---|
committer | dmurph@chromium.org <dmurph@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-18 22:53:31 +0000 |
commit | baa5a89286a0d55e331a779ee6b2f2b5161252b2 (patch) | |
tree | 379b3801ee97cd17433805dd1c8e96bae9b70b22 /gpu/command_buffer/common | |
parent | 6c8e0471391c2061644e1eb1ec2808f2d23a1bea (diff) | |
download | chromium_src-baa5a89286a0d55e331a779ee6b2f2b5161252b2.zip chromium_src-baa5a89286a0d55e331a779ee6b2f2b5161252b2.tar.gz chromium_src-baa5a89286a0d55e331a779ee6b2f2b5161252b2.tar.bz2 |
Current status of patch:
- In-memory cache
- maximum in memory limit (currently 6mb)
- lru eviction
- Cache includes saving the attribute + uniform mappings
Wiring:
- Added bindings for glProgramBinary and glGetProgramBinary
- Plumbed the shader cache from gl_channel_manager to program_manager
Refactoring:
- moved the meat of DoCompile to the ProgramManager
New:
- added field to ShaderInfo to store if we have a possible pending cache compile
- exposed attrib_map and uniform_map in ShaderInfo for the cache
- program_cache base class with in-memory status storage
- Simple memory_program_cache implementation, stores programs with lru eviction
- Added caching logic to DoCompileShader in gles2_cmd_decoder and Link in program_manager
Design doc: https://docs.google.com/document/d/1Vceem-nF4TCICoeGSh7OMXxfGuJEJYblGXRgN9V9hcE/edit
BUG=88572
Review URL: https://chromiumcodereview.appspot.com/10534173
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/common')
-rw-r--r-- | gpu/command_buffer/common/gl_mock.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gpu/command_buffer/common/gl_mock.h b/gpu/command_buffer/common/gl_mock.h index c68f787..d0b89a3 100644 --- a/gpu/command_buffer/common/gl_mock.h +++ b/gpu/command_buffer/common/gl_mock.h @@ -213,6 +213,10 @@ class MockGLInterface : public GLInterface { MOCK_METHOD2(GetIntegerv, void(GLenum pname, GLint* params)); + MOCK_METHOD5(GetProgramBinary, void( + GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, + GLvoid* binary)); + MOCK_METHOD3(GetProgramiv, void(GLuint program, GLenum pname, GLint* params)); MOCK_METHOD4(GetProgramInfoLog, void( @@ -307,6 +311,10 @@ class MockGLInterface : public GLInterface { MOCK_METHOD2(PolygonOffset, void(GLfloat factor, GLfloat units)); + MOCK_METHOD4(ProgramBinary, void( + GLuint program, GLenum binaryFormat, const GLvoid* binary, + GLsizei length)); + MOCK_METHOD2(QueryCounter, void(GLuint id, GLenum target)); MOCK_METHOD1(ReadBuffer, void(GLenum src)); |