diff options
author | bajones <bajones@chromium.org> | 2015-03-13 17:12:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-14 00:13:48 +0000 |
commit | 63ead731bc142b8c0f202e07bc2879fcc2984fb9 (patch) | |
tree | b7cd3e569cb9a7f38b72dd7e9605d7b5baf12b78 /gpu/command_buffer/service/program_cache.h | |
parent | 3781bcc29be4faa3b90a6c884a3870c10454adbf (diff) | |
download | chromium_src-63ead731bc142b8c0f202e07bc2879fcc2984fb9.zip chromium_src-63ead731bc142b8c0f202e07bc2879fcc2984fb9.tar.gz chromium_src-63ead731bc142b8c0f202e07bc2879fcc2984fb9.tar.bz2 |
Updated shader program caching to account for transform feedback varyings
BUG=429053
Review URL: https://codereview.chromium.org/998423005
Cr-Commit-Position: refs/heads/master@{#320607}
Diffstat (limited to 'gpu/command_buffer/service/program_cache.h')
-rw-r--r-- | gpu/command_buffer/service/program_cache.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/gpu/command_buffer/service/program_cache.h b/gpu/command_buffer/service/program_cache.h index 624c436..44593df 100644 --- a/gpu/command_buffer/service/program_cache.h +++ b/gpu/command_buffer/service/program_cache.h @@ -42,7 +42,9 @@ class GPU_EXPORT ProgramCache { LinkedProgramStatus GetLinkedProgramStatus( const std::string& shader_signature_a, const std::string& shader_signature_b, - const LocationMap* bind_attrib_location_map) const; + const LocationMap* bind_attrib_location_map, + const std::vector<std::string>& transform_feedback_varyings, + GLenum transform_feedback_buffer_mode) const; // Loads the linked program from the cache. If the program is not found or // there was an error, PROGRAM_LOAD_FAILURE should be returned. @@ -51,6 +53,8 @@ class GPU_EXPORT ProgramCache { Shader* shader_a, Shader* shader_b, const LocationMap* bind_attrib_location_map, + const std::vector<std::string>& transform_feedback_varyings, + GLenum transform_feedback_buffer_mode, const ShaderCacheCallback& shader_callback) = 0; // Saves the program into the cache. If successful, the implementation should @@ -60,6 +64,8 @@ class GPU_EXPORT ProgramCache { const Shader* shader_a, const Shader* shader_b, const LocationMap* bind_attrib_location_map, + const std::vector<std::string>& transform_feedback_varyings, + GLenum transform_feedback_buffer_mode, const ShaderCacheCallback& shader_callback) = 0; virtual void LoadProgram(const std::string& program) = 0; @@ -69,8 +75,10 @@ class GPU_EXPORT ProgramCache { // Only for testing void LinkedProgramCacheSuccess(const std::string& shader_signature_a, - const std::string& shader_signature_b, - const LocationMap* bind_attrib_location_map); + const std::string& shader_signature_b, + const LocationMap* bind_attrib_location_map, + const std::vector<std::string>& transform_feedback_varyings, + GLenum transform_feedback_buffer_mode); protected: // called by implementing class after a shader was successfully cached @@ -86,6 +94,8 @@ class GPU_EXPORT ProgramCache { const char* hashed_shader_0, const char* hashed_shader_1, const LocationMap* bind_attrib_location_map, + const std::vector<std::string>& transform_feedback_varyings, + GLenum transform_feedback_buffer_mode, char* result) const; void Evict(const std::string& program_hash); |