Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Unified Diff: gpu/command_buffer/service/shader_manager.h

Issue 10534173: GPU Program Caching (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Style fixes, thorough tests Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/shader_manager.h
diff --git a/gpu/command_buffer/service/shader_manager.h b/gpu/command_buffer/service/shader_manager.h
index 9b6fad2ce2d7afee87fc901d37eeca31ee012887..b4ed550d3d3384ed5f9f2e29de9c785e603cc92c 100644
--- a/gpu/command_buffer/service/shader_manager.h
+++ b/gpu/command_buffer/service/shader_manager.h
@@ -63,6 +63,8 @@ class GPU_EXPORT ShaderManager {
bool valid, const char* log,
ShaderTranslatorInterface* translator);
+ void set_pending_compilation(bool pending_cache_miss_compilation);
+
const VariableInfo* GetAttribInfo(const std::string& name) const;
const VariableInfo* GetUniformInfo(const std::string& name) const;
@@ -87,6 +89,32 @@ class GPU_EXPORT ShaderManager {
return use_count_ != 0;
}
+ bool IsPendingCacheMissCompilation() const {
+ return pending_cache_miss_compilation_;
+ }
+
+ // Used by shader cache.
+ const ShaderTranslator::VariableMap& attrib_map() const {
+ return attrib_map_;
+ }
+
+ // Used by shader cache.
+ const ShaderTranslator::VariableMap& uniform_map() const {
+ return uniform_map_;
+ }
+
+ // Used by shader cache.
+ void SetAttribMap(const ShaderTranslator::VariableMap& attrib_map) {
+ // copied because cache might be cleared
+ attrib_map_ = ShaderTranslator::VariableMap(attrib_map);
+ }
+
+ // Used by shader cache.
+ void SetUniformMap(const ShaderTranslator::VariableMap& uniform_map) {
+ // copied because cache might be cleared
+ uniform_map_ = ShaderTranslator::VariableMap(uniform_map);
+ }
+
private:
typedef ShaderTranslator::VariableMap VariableMap;
@@ -122,6 +150,9 @@ class GPU_EXPORT ShaderManager {
// The type info when the shader was last compiled.
VariableMap attrib_map_;
VariableMap uniform_map_;
+
+ // If compilation was delayed for possible cache hit
+ bool pending_cache_miss_compilation_;
};
ShaderManager();

Powered by Google App Engine
This is Rietveld 408576698