Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(845)

Unified Diff: cc/output/shader.h

Issue 2613903002: The great shader refactor: Move all programs to a common cache (Closed)
Patch Set: Incorporate review feedback Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/program_binding.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/shader.h
diff --git a/cc/output/shader.h b/cc/output/shader.h
index 81d4e10833dc29fc6b11a44cea7b4dbb58688920..5db739d6846a7aec64388ef14813510f2e2be53f 100644
--- a/cc/output/shader.h
+++ b/cc/output/shader.h
@@ -234,168 +234,6 @@ class VertexShaderBase {
int edge_location_ = -1;
};
-class VertexShaderPosTex : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_ATTRIBUTE);
- DCHECK_EQ(has_matrix_, true);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_NONE);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- }
-};
-
-class VertexShaderPosTexYUVStretchOffset : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_ATTRIBUTE);
- DCHECK_EQ(has_matrix_, true);
- DCHECK_EQ(is_ya_uv_, true);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_NONE);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- }
-};
-
-class VertexShaderPos : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_matrix_, true);
-
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE);
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_NONE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_NONE);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(use_uniform_arrays_, false);
- }
-};
-
-class VertexShaderPosTexTransform : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_ATTRIBUTE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_VEC4);
- DCHECK_EQ(has_matrix_, true);
- DCHECK_EQ(has_vertex_opacity_, true);
- DCHECK_EQ(use_uniform_arrays_, true);
-
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- }
-};
-
-class VertexShaderQuad : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE_INDEXED_UNIFORM);
- DCHECK_EQ(has_matrix_, true);
-#if defined(OS_ANDROID)
- DCHECK_EQ(has_dummy_variables_, true);
-#endif
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_NONE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_NONE);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- }
-};
-
-class VertexShaderQuadAA : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE_INDEXED_UNIFORM);
- DCHECK_EQ(has_matrix_, true);
- DCHECK_EQ(aa_mode_, USE_AA);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_NONE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_NONE);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- }
-};
-
-class VertexShaderQuadTexTransformAA : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE_INDEXED_UNIFORM);
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_POSITION);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_TRANSLATED_VEC4);
- DCHECK_EQ(has_matrix_, true);
- DCHECK_EQ(aa_mode_, USE_AA);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- }
-};
-
-class VertexShaderTile : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE_INDEXED_UNIFORM);
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_ATTRIBUTE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_VEC4);
- DCHECK_EQ(has_matrix_, true);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- }
-};
-
-class VertexShaderTileAA : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE_INDEXED_UNIFORM);
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_POSITION);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_VEC4);
- DCHECK_EQ(has_matrix_, true);
- DCHECK_EQ(aa_mode_, USE_AA);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- }
-};
-
-class VertexShaderVideoTransform : public VertexShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(tex_coord_source_, TEX_COORD_SOURCE_ATTRIBUTE);
- DCHECK_EQ(tex_coord_transform_, TEX_COORD_TRANSFORM_MATRIX);
- DCHECK_EQ(has_matrix_, true);
-
- DCHECK_EQ(use_uniform_arrays_, false);
- DCHECK_EQ(position_source_, POSITION_SOURCE_ATTRIBUTE);
- DCHECK_EQ(is_ya_uv_, false);
- DCHECK_EQ(has_dummy_variables_, false);
- DCHECK_EQ(has_vertex_opacity_, false);
- DCHECK_EQ(aa_mode_, NO_AA);
- }
-};
-
class FragmentShaderBase {
public:
virtual void Init(gpu::gles2::GLES2Interface* context,
@@ -478,352 +316,6 @@ class FragmentShaderBase {
DISALLOW_COPY_AND_ASSIGN(FragmentShaderBase);
};
-class FragmentShaderRGBATexVaryingAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_varying_alpha_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexPremultiplyAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_varying_alpha_, true);
- DCHECK_EQ(premultiply_alpha_mode_, NON_PREMULTIPLIED_ALPHA);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderTexBackgroundVaryingAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_background_color_, true);
- DCHECK_EQ(has_varying_alpha_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- }
-};
-
-class FragmentShaderTexBackgroundPremultiplyAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_background_color_, true);
- DCHECK_EQ(has_varying_alpha_, true);
- DCHECK_EQ(premultiply_alpha_mode_, NON_PREMULTIPLIED_ALPHA);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- }
-};
-
-class FragmentShaderRGBATexAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexColorMatrixAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(has_color_matrix_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexOpaque : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_OPAQUE);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATex : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
- DCHECK_EQ(sampler_type_, SAMPLER_TYPE_EXTERNAL_OES);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-// Swizzles the red and blue component of sampled texel with alpha.
-class FragmentShaderRGBATexSwizzleAlpha : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(swizzle_mode_, DO_SWIZZLE);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-// Swizzles the red and blue component of sampled texel without alpha.
-class FragmentShaderRGBATexSwizzleOpaque : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(swizzle_mode_, DO_SWIZZLE);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_OPAQUE);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexAlphaAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexClampAlphaAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-// Swizzles the red and blue component of sampled texel.
-class FragmentShaderRGBATexClampSwizzleAlphaAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, true);
- DCHECK_EQ(swizzle_mode_, DO_SWIZZLE);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexAlphaMask : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(mask_mode_, HAS_MASK);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
- DCHECK_EQ(ignore_sampler_type_, true);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexAlphaMaskAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(mask_mode_, HAS_MASK);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
- DCHECK_EQ(ignore_sampler_type_, true);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexAlphaMaskColorMatrixAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(mask_mode_, HAS_MASK);
- DCHECK_EQ(has_color_matrix_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
- DCHECK_EQ(ignore_sampler_type_, true);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexAlphaColorMatrixAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(has_color_matrix_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderRGBATexAlphaMaskColorMatrix : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(has_uniform_alpha_, true);
- DCHECK_EQ(mask_mode_, HAS_MASK);
- DCHECK_EQ(has_color_matrix_, true);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_APPLY_BLEND_MODE);
- DCHECK_EQ(ignore_sampler_type_, true);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_RGBA_TEXTURE);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
class FragmentShaderYUVVideo : public FragmentShaderBase {
public:
FragmentShaderYUVVideo();
@@ -874,44 +366,6 @@ class FragmentShaderYUVVideo : public FragmentShaderBase {
int resource_offset_location_ = -1;
};
-class FragmentShaderColor : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_UNIFORM);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(aa_mode_, NO_AA);
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
-class FragmentShaderColorAA : public FragmentShaderBase {
- public:
- void CheckSubclassProperties() {
- DCHECK_EQ(input_color_type_, INPUT_COLOR_SOURCE_UNIFORM);
- DCHECK_EQ(aa_mode_, USE_AA);
- DCHECK_EQ(frag_color_mode_, FRAG_COLOR_MODE_DEFAULT);
-
- DCHECK_EQ(has_varying_alpha_, false);
- DCHECK_EQ(swizzle_mode_, NO_SWIZZLE);
- DCHECK_EQ(premultiply_alpha_mode_, PREMULTIPLIED_ALPHA);
- DCHECK_EQ(has_rgba_fragment_tex_transform_, false);
- DCHECK_EQ(ignore_sampler_type_, false);
- DCHECK_EQ(mask_mode_, NO_MASK);
- DCHECK_EQ(has_color_matrix_, false);
- DCHECK_EQ(has_uniform_alpha_, false);
- DCHECK_EQ(has_background_color_, false);
- }
-};
-
} // namespace cc
#endif // CC_OUTPUT_SHADER_H_
« no previous file with comments | « cc/output/program_binding.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698