Index: cc/output/shader.h |
diff --git a/cc/output/shader.h b/cc/output/shader.h |
index 7910e5949f4e9a5503c8134979615bd52b96a963..d7335a5671434caeb590abcb65b4e52bf07b739e 100644 |
--- a/cc/output/shader.h |
+++ b/cc/output/shader.h |
@@ -278,12 +278,30 @@ class FragmentTexOpaqueBinding { |
DISALLOW_COPY_AND_ASSIGN(FragmentTexOpaqueBinding); |
}; |
-class FragmentShaderRGBATexVaryingAlpha : public FragmentTexOpaqueBinding { |
+class FragmentTexBackgroundBinding { |
+ public: |
+ FragmentTexBackgroundBinding(); |
+ |
+ void Init(WebKit::WebGraphicsContext3D* context, |
+ unsigned program, |
+ bool using_bind_uniform, |
+ int* base_uniform_index); |
+ int background_color_location() const { return background_color_location_; } |
+ int sampler_location() const { return sampler_location_; } |
+ |
+ private: |
+ int background_color_location_; |
+ int sampler_location_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FragmentTexBackgroundBinding); |
+}; |
+ |
+class FragmentShaderTexture : public FragmentTexBackgroundBinding { |
public: |
std::string GetShaderString(TexCoordPrecision precision) const; |
}; |
-class FragmentShaderRGBATexPremultiplyAlpha : public FragmentTexOpaqueBinding { |
+class FragmentShaderNonPremulTexture : public FragmentTexBackgroundBinding { |
public: |
std::string GetShaderString(TexCoordPrecision precision) const; |
}; |
@@ -301,6 +319,7 @@ class FragmentShaderRGBATexColorMatrixAlpha |
class FragmentShaderRGBATexRectVaryingAlpha : public FragmentTexAlphaBinding { |
public: |
+ int background_color_location() const { return -1; } |
std::string GetShaderString(TexCoordPrecision precision) const; |
}; |