Revert "Add support for image load to SkSL"

This reverts commit bd85a105ba7b3ee2008d20fb9281bfb47325ad0e.

Reason for revert: Needing to revert a dependent CL

Original change's description:
> Add support for image load to SkSL
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4865
> 
> Change-Id: I4647e6b255946ced2b1b8cb05e62f0f5a8ad28b6
> Reviewed-on: https://skia-review.googlesource.com/4865
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> 

TBR=bsalomon@google.com,ethannicholas@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I45932a53c606aadd645ee2b8264f08ad63429939
Reviewed-on: https://skia-review.googlesource.com/4892
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
diff --git a/src/sksl/SkSLCompiler.cpp b/src/sksl/SkSLCompiler.cpp
index 510d610..4794759 100644
--- a/src/sksl/SkSLCompiler.cpp
+++ b/src/sksl/SkSLCompiler.cpp
@@ -113,9 +113,6 @@
 
     ADD_TYPE(ISampler2D);
 
-    ADD_TYPE(Image2D);
-    ADD_TYPE(IImage2D);
-
     ADD_TYPE(GSampler1D);
     ADD_TYPE(GSampler2D);
     ADD_TYPE(GSampler3D);
diff --git a/src/sksl/SkSLContext.h b/src/sksl/SkSLContext.h
index a42a4cc..80ad7fb 100644
--- a/src/sksl/SkSLContext.h
+++ b/src/sksl/SkSLContext.h
@@ -78,14 +78,8 @@
     , fSampler1DArrayShadow_Type(new Type("sampler1DArrayShadow"))
     , fSampler2DArrayShadow_Type(new Type("sampler2DArrayShadow"))
     , fSamplerCubeArrayShadow_Type(new Type("samplerCubeArrayShadow"))
-
     // Related to below FIXME, gsampler*s don't currently expand to cover integer case.
     , fISampler2D_Type(new Type("isampler2D", SpvDim2D, false, false, false, true))
-
-    // FIXME express these as "gimage2D" that expand to image2D, iimage2D, and uimage2D.
-    , fImage2D_Type(new Type("image2D", SpvDim2D, false, false, false, true))
-    , fIImage2D_Type(new Type("iimage2D", SpvDim2D, false, false, false, true))
-
     // FIXME figure out what we're supposed to do with the gsampler et al. types)
     , fGSampler1D_Type(new Type("$gsampler1D", static_type(*fSampler1D_Type)))
     , fGSampler2D_Type(new Type("$gsampler2D", static_type(*fSampler2D_Type)))
@@ -201,12 +195,8 @@
     const std::unique_ptr<Type> fSampler2DArrayShadow_Type;
     const std::unique_ptr<Type> fSamplerCubeArrayShadow_Type;
 
-
     const std::unique_ptr<Type> fISampler2D_Type;
 
-    const std::unique_ptr<Type> fImage2D_Type;
-    const std::unique_ptr<Type> fIImage2D_Type;
-
     const std::unique_ptr<Type> fGSampler1D_Type;
     const std::unique_ptr<Type> fGSampler2D_Type;
     const std::unique_ptr<Type> fGSampler3D_Type;
diff --git a/src/sksl/SkSLGLSLCodeGenerator.cpp b/src/sksl/SkSLGLSLCodeGenerator.cpp
index 1252f86..c6d2e6e 100644
--- a/src/sksl/SkSLGLSLCodeGenerator.cpp
+++ b/src/sksl/SkSLGLSLCodeGenerator.cpp
@@ -474,12 +474,6 @@
             this->write(" = ");
             this->writeExpression(*var.fValue, kTopLevel_Precedence);
         }
-        if (!fFoundImageDecl && var.fVar->fType == *fContext.fImage2D_Type) {
-            if (fCaps.imageLoadStoreExtensionString()) {
-                fHeader << "#extension " << fCaps.imageLoadStoreExtensionString() << " : require\n";
-            }
-            fFoundImageDecl = true;
-        }
     }
     this->write(";");
 }
diff --git a/src/sksl/SkSLGLSLCodeGenerator.h b/src/sksl/SkSLGLSLCodeGenerator.h
index 16d6192..5ed6104 100644
--- a/src/sksl/SkSLGLSLCodeGenerator.h
+++ b/src/sksl/SkSLGLSLCodeGenerator.h
@@ -169,7 +169,6 @@
     std::vector<const Type*> fWrittenStructs;
     // true if we have run into usages of dFdx / dFdy
     bool fFoundDerivatives = false;
-    bool fFoundImageDecl = false;
 };
 
 }
diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp
index a3a88b0..154989f 100644
--- a/src/sksl/SkSLParser.cpp
+++ b/src/sksl/SkSLParser.cpp
@@ -537,12 +537,11 @@
     bool overrideCoverage = false;
     bool blendSupportAllEquations = false;
     bool pushConstant = false;
-    ASTLayout::Format format = ASTLayout::Format::kUnspecified;
     if (this->peek().fKind == Token::LAYOUT) {
         this->nextToken();
         if (!this->expect(Token::LPAREN, "'('")) {
             return ASTLayout(location, binding, index, set, builtin, originUpperLeft,
-                             overrideCoverage, blendSupportAllEquations, pushConstant, format);
+                             overrideCoverage, blendSupportAllEquations, pushConstant);
         }
         for (;;) {
             Token t = this->nextToken();
@@ -564,8 +563,6 @@
                 blendSupportAllEquations = true;
             } else if (t.fText == "push_constant") {
                 pushConstant = true;
-            } else if (ASTLayout::ReadFormat(t.fText, &format)) {
-               // AST::ReadFormat stored the result in 'format'.
             } else {
                 this->error(t.fPosition, ("'" + t.fText + 
                                           "' is not a valid layout qualifier").c_str());
@@ -580,7 +577,7 @@
         }
     }
     return ASTLayout(location, binding, index, set, builtin, originUpperLeft, overrideCoverage,
-                     blendSupportAllEquations, pushConstant, format);
+                     blendSupportAllEquations, pushConstant);
 }
 
 /* layout? (UNIFORM | CONST | IN | OUT | INOUT | LOWP | MEDIUMP | HIGHP | FLAT | NOPERSPECTIVE)* */
diff --git a/src/sksl/ast/SkSLASTLayout.h b/src/sksl/ast/SkSLASTLayout.h
index e7bfd12..2aec31e 100644
--- a/src/sksl/ast/SkSLASTLayout.h
+++ b/src/sksl/ast/SkSLASTLayout.h
@@ -19,68 +19,9 @@
  * layout (location = 0) int x;
  */
 struct ASTLayout : public ASTNode {
-    // These are used by images in GLSL. We only support a subset of what GL supports.
-    enum class Format {
-        kUnspecified = -1,
-        kRGBA32F,
-        kR32F,
-        kRGBA16F,
-        kR16F,
-        kRGBA8,
-        kR8,
-        kRGBA8I,
-        kR8I,
-    };
-
-    static const char* FormatToStr(Format format) {
-        switch (format) {
-            case Format::kUnspecified:  return "";
-            case Format::kRGBA32F:      return "rgba32f";
-            case Format::kR32F:         return "r32f";
-            case Format::kRGBA16F:      return "rgba16f";
-            case Format::kR16F:         return "r16f";
-            case Format::kRGBA8:        return "rgba8";
-            case Format::kR8:           return "r8";
-            case Format::kRGBA8I:       return "rgba8i";
-            case Format::kR8I:          return "r8i";
-        }
-        SkFAIL("Unexpected format");
-        return "";
-    }
-
-    static bool ReadFormat(std::string str, Format* format) {
-        if (str == "rgba32f") {
-            *format = Format::kRGBA32F;
-            return true;
-        } else if (str == "r32f") {
-            *format = Format::kR32F;
-            return true;
-        } else if (str == "rgba16f") {
-            *format = Format::kRGBA16F;
-            return true;
-        } else if (str == "r16f") {
-            *format = Format::kR16F;
-            return true;
-        } else if (str == "rgba8") {
-            *format = Format::kRGBA8;
-            return true;
-        } else if (str == "r8") {
-            *format = Format::kR8;
-            return true;
-        } else if (str == "rgba8i") {
-            *format = Format::kRGBA8I;
-            return true;
-        } else if (str == "r8i") {
-            *format = Format::kR8I;
-            return true;
-        }
-        return false;
-    }
-
     // For int parameters, a -1 means no value
     ASTLayout(int location, int binding, int index, int set, int builtin, bool originUpperLeft,
-              bool overrideCoverage, bool blendSupportAllEquations, bool pushConstant,
-              Format format)
+              bool overrideCoverage, bool blendSupportAllEquations, bool pushConstant)
     : fLocation(location)
     , fBinding(binding)
     , fIndex(index)
@@ -89,8 +30,7 @@
     , fOriginUpperLeft(originUpperLeft)
     , fOverrideCoverage(overrideCoverage)
     , fBlendSupportAllEquations(blendSupportAllEquations)
-    , fPushConstant(pushConstant)
-    , fFormat(format) {}
+    , fPushConstant(pushConstant) {}
 
     std::string description() const {
         std::string result;
@@ -131,10 +71,6 @@
             result += separator + "push_constant";
             separator = ", ";
         }
-        if (fFormat != Format::kUnspecified) {
-            result += separator + FormatToStr(fFormat);
-            separator = ", ";
-        }
         if (result.length() > 0) {
             result = "layout (" + result + ")";
         }
@@ -150,7 +86,6 @@
     const bool fOverrideCoverage;
     const bool fBlendSupportAllEquations;
     const bool fPushConstant;
-    const Format fFormat;
 };
 
 } // namespace
diff --git a/src/sksl/ir/SkSLLayout.h b/src/sksl/ir/SkSLLayout.h
index ef2f8c2..dfa3967 100644
--- a/src/sksl/ir/SkSLLayout.h
+++ b/src/sksl/ir/SkSLLayout.h
@@ -25,12 +25,10 @@
     , fOriginUpperLeft(layout.fOriginUpperLeft)
     , fOverrideCoverage(layout.fOverrideCoverage)
     , fBlendSupportAllEquations(layout.fBlendSupportAllEquations)
-    , fPushConstant(layout.fPushConstant)
-    , fFormat(layout.fFormat) {}
+    , fPushConstant(layout.fPushConstant) {}
 
     Layout(int location, int binding, int index, int set, int builtin, bool originUpperLeft,
-           bool overrideCoverage, bool blendSupportAllEquations, bool pushconstant,
-           ASTLayout::Format format)
+           bool overrideCoverage, bool blendSupportAllEquations, bool pushconstant)
     : fLocation(location)
     , fBinding(binding)
     , fIndex(index)
@@ -39,8 +37,7 @@
     , fOriginUpperLeft(originUpperLeft)
     , fOverrideCoverage(overrideCoverage)
     , fBlendSupportAllEquations(blendSupportAllEquations)
-    , fPushConstant(pushconstant)
-    , fFormat(format) {}
+    , fPushConstant(pushconstant) {}
 
     Layout() 
     : fLocation(-1)
@@ -51,8 +48,7 @@
     , fOriginUpperLeft(false)
     , fOverrideCoverage(false)
     , fBlendSupportAllEquations(false)
-    , fPushConstant(false)
-    , fFormat(ASTLayout::Format::kUnspecified) {}
+    , fPushConstant(false) {}
 
     std::string description() const {
         std::string result;
@@ -93,10 +89,6 @@
             result += separator + "push_constant";
             separator = ", ";
         }
-        if (ASTLayout::Format::kUnspecified != fFormat) {
-            result += separator + ASTLayout::FormatToStr(fFormat);
-            separator = ", ";
-        }
         if (result.length() > 0) {
             result = "layout (" + result + ")";
         }
@@ -111,8 +103,7 @@
                fBuiltin                  == other.fBuiltin &&
                fOriginUpperLeft          == other.fOriginUpperLeft &&
                fOverrideCoverage         == other.fOverrideCoverage &&
-               fBlendSupportAllEquations == other.fBlendSupportAllEquations &&
-               fFormat                   == other.fFormat;
+               fBlendSupportAllEquations == other.fBlendSupportAllEquations;
     }
 
     bool operator!=(const Layout& other) const {
@@ -129,7 +120,6 @@
     bool fOverrideCoverage;
     bool fBlendSupportAllEquations;
     bool fPushConstant;
-    ASTLayout::Format fFormat;
 };
 
 } // namespace
diff --git a/src/sksl/sksl.include b/src/sksl/sksl.include
index 83c6aed..6458a15 100644
--- a/src/sksl/sksl.include
+++ b/src/sksl/sksl.include
@@ -537,10 +537,8 @@
 uint atomicCompSwap(inout uint mem, uint compare, uint data);
 int atomicCompSwap(inout int mem, int compare, int data);
 */
-// section 8.12 Additional Image Functions will go here if and when we add
-// support for them
-vec4 imageLoad(image2D image, ivec2 P);
-ivec4 imageLoad(iimage2D image, ivec2 P);
+// section 8.12 Image Functions will go here if and when we add support for them
+
 $genType dFdx($genType p);
 $genType dFdy($genType p);
 float interpolateAtSample(float interpolant, int sample);