Add platform hook for program cache updates.

This will need to be matched with a corresponding browser-side CL.
It will enable writing out binary shaders to disk.

BUG=angleproject:1897

Change-Id: I443281086050b9711b92a034cf37f808dd919007
Reviewed-on: https://chromium-review.googlesource.com/542963
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/MemoryProgramCache.h b/src/libANGLE/MemoryProgramCache.h
index faf0b6f..c3dbbcd 100644
--- a/src/libANGLE/MemoryProgramCache.h
+++ b/src/libANGLE/MemoryProgramCache.h
@@ -18,7 +18,7 @@
 
 namespace gl
 {
-// 128-bit program hash key.
+// 160-bit SHA-1 hash key.
 using ProgramHash = std::array<uint8_t, 20>;
 }  // namespace gl
 
@@ -96,7 +96,9 @@
 
   private:
     // Insert or update a binary program. Program contents are transferred.
-    void put(const ProgramHash &programHash, angle::MemoryBuffer &&binaryProgram);
+    void put(const ProgramHash &programHash,
+             const Context *context,
+             angle::MemoryBuffer &&binaryProgram);
 
     angle::SizedMRUCache<ProgramHash, angle::MemoryBuffer> mProgramBinaryCache;
     unsigned int mIssuedWarnings;