sksl SPIR-V sampledBuffer support

Bug: skia:
Change-Id: I9bf936857b61d3bb5a165f7a11e53d25069b53c2
Reviewed-on: https://skia-review.googlesource.com/15192
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/sksl/SkSLSPIRVCodeGenerator.h b/src/sksl/SkSLSPIRVCodeGenerator.h
index 84a4c1f..a343905 100644
--- a/src/sksl/SkSLSPIRVCodeGenerator.h
+++ b/src/sksl/SkSLSPIRVCodeGenerator.h
@@ -89,8 +89,9 @@
 
     enum SpecialIntrinsic {
         kAtan_SpecialIntrinsic,
-        kTexture_SpecialIntrinsic,
         kSubpassLoad_SpecialIntrinsic,
+        kTexelFetch_SpecialIntrinsic,
+        kTexture_SpecialIntrinsic,
     };
 
     void setupIntrinsics();
@@ -101,6 +102,8 @@
 
     SpvId getType(const Type& type, const MemoryLayout& layout);
 
+    SpvId getImageType(const Type& type);
+
     SpvId getFunctionType(const FunctionDeclaration& function);
 
     SpvId getPointerType(const Type& type, SpvStorageClass_ storageClass);
@@ -276,6 +279,7 @@
     std::unordered_map<const FunctionDeclaration*, SpvId> fFunctionMap;
     std::unordered_map<const Variable*, SpvId> fVariableMap;
     std::unordered_map<const Variable*, int32_t> fInterfaceBlockMap;
+    std::unordered_map<String, SpvId> fImageTypeMap;
     std::unordered_map<String, SpvId> fTypeMap;
     StringStream fCapabilitiesBuffer;
     StringStream fGlobalInitializersBuffer;