Index: cc/output/shader.h |
diff --git a/cc/output/shader.h b/cc/output/shader.h |
index 7910e5949f4e9a5503c8134979615bd52b96a963..633398658e14134d282468695a2c33a9b82390c5 100644 |
--- a/cc/output/shader.h |
+++ b/cc/output/shader.h |
@@ -270,6 +270,7 @@ class FragmentTexOpaqueBinding { |
int alpha_location() const { return -1; } |
int edge_location() const { return -1; } |
int fragment_tex_transform_location() const { return -1; } |
+ int background_color_location() const { return -1; } |
int sampler_location() const { return sampler_location_; } |
private: |
@@ -278,6 +279,24 @@ class FragmentTexOpaqueBinding { |
DISALLOW_COPY_AND_ASSIGN(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 FragmentShaderRGBATexVaryingAlpha : public FragmentTexOpaqueBinding { |
public: |
std::string GetShaderString(TexCoordPrecision precision) const; |
@@ -288,6 +307,18 @@ class FragmentShaderRGBATexPremultiplyAlpha : public FragmentTexOpaqueBinding { |
std::string GetShaderString(TexCoordPrecision precision) const; |
}; |
+class FragmentShaderTexBackgroundVaryingAlpha |
+ : public FragmentTexBackgroundBinding { |
+ public: |
+ std::string GetShaderString(TexCoordPrecision precision) const; |
+}; |
+ |
+class FragmentShaderTexBackgroundPremultiplyAlpha |
+ : public FragmentTexBackgroundBinding { |
+ public: |
+ std::string GetShaderString(TexCoordPrecision precision) const; |
+}; |
+ |
class FragmentShaderRGBATexAlpha : public FragmentTexAlphaBinding { |
public: |
std::string GetShaderString(TexCoordPrecision precision) const; |
@@ -299,7 +330,7 @@ class FragmentShaderRGBATexColorMatrixAlpha |
std::string GetShaderString(TexCoordPrecision precision) const; |
}; |
-class FragmentShaderRGBATexRectVaryingAlpha : public FragmentTexAlphaBinding { |
+class FragmentShaderRGBATexRectVaryingAlpha : public FragmentTexOpaqueBinding { |
public: |
std::string GetShaderString(TexCoordPrecision precision) const; |
}; |