Index: cc/output/shader.h |
diff --git a/cc/output/shader.h b/cc/output/shader.h |
deleted file mode 100644 |
index 5ccaa77ebad600bdf0e76c8a44bd3dd151dfb61e..0000000000000000000000000000000000000000 |
--- a/cc/output/shader.h |
+++ /dev/null |
@@ -1,887 +0,0 @@ |
-// Copyright 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CC_OUTPUT_SHADER_H_ |
-#define CC_OUTPUT_SHADER_H_ |
- |
-#include <string> |
- |
-#include "base/basictypes.h" |
- |
-namespace gfx { |
-class Point; |
-class Size; |
-} |
- |
-namespace gpu { |
-namespace gles2 { |
-class GLES2Interface; |
-} |
-} |
- |
-namespace cc { |
- |
-enum TexCoordPrecision { |
- TEX_COORD_PRECISION_NA = 0, |
- TEX_COORD_PRECISION_MEDIUM = 1, |
- TEX_COORD_PRECISION_HIGH = 2, |
- LAST_TEX_COORD_PRECISION = 2 |
-}; |
- |
-enum SamplerType { |
- SAMPLER_TYPE_NA = 0, |
- SAMPLER_TYPE_2D = 1, |
- SAMPLER_TYPE_2D_RECT = 2, |
- SAMPLER_TYPE_EXTERNAL_OES = 3, |
- LAST_SAMPLER_TYPE = 3 |
-}; |
- |
-enum BlendMode { |
- BLEND_MODE_NONE, |
- BLEND_MODE_NORMAL, |
- BLEND_MODE_SCREEN, |
- BLEND_MODE_OVERLAY, |
- BLEND_MODE_DARKEN, |
- BLEND_MODE_LIGHTEN, |
- BLEND_MODE_COLOR_DODGE, |
- BLEND_MODE_COLOR_BURN, |
- BLEND_MODE_HARD_LIGHT, |
- BLEND_MODE_SOFT_LIGHT, |
- BLEND_MODE_DIFFERENCE, |
- BLEND_MODE_EXCLUSION, |
- BLEND_MODE_MULTIPLY, |
- BLEND_MODE_HUE, |
- BLEND_MODE_SATURATION, |
- BLEND_MODE_COLOR, |
- BLEND_MODE_LUMINOSITY, |
- LAST_BLEND_MODE = BLEND_MODE_LUMINOSITY |
-}; |
- |
-enum MaskMode { |
- NO_MASK = 0, |
- HAS_MASK = 1, |
- LAST_MASK_VALUE = HAS_MASK |
-}; |
- |
-struct ShaderLocations { |
- ShaderLocations(); |
- |
- int sampler = -1; |
- int quad = -1; |
- int edge = -1; |
- int viewport = -1; |
- int mask_sampler = -1; |
- int mask_tex_coord_scale = -1; |
- int mask_tex_coord_offset = -1; |
- int matrix = -1; |
- int alpha = -1; |
- int color_matrix = -1; |
- int color_offset = -1; |
- int tex_transform = -1; |
- int backdrop = -1; |
- int backdrop_rect = -1; |
- int original_backdrop = -1; |
-}; |
- |
-// Note: The highp_threshold_cache must be provided by the caller to make |
-// the caching multi-thread/context safe in an easy low-overhead manner. |
-// The caller must make sure to clear highp_threshold_cache to 0, so it can be |
-// reinitialized, if a new or different context is used. |
-TexCoordPrecision TexCoordPrecisionRequired(gpu::gles2::GLES2Interface* context, |
- int* highp_threshold_cache, |
- int highp_threshold_min, |
- const gfx::Point& max_coordinate); |
- |
-TexCoordPrecision TexCoordPrecisionRequired(gpu::gles2::GLES2Interface* context, |
- int* highp_threshold_cache, |
- int highp_threshold_min, |
- const gfx::Size& max_size); |
- |
-class VertexShaderPosTex { |
- public: |
- VertexShaderPosTex(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- |
- private: |
- int matrix_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderPosTex); |
-}; |
- |
-class VertexShaderPosTexYUVStretchOffset { |
- public: |
- VertexShaderPosTexYUVStretchOffset(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- int tex_scale_location() const { return tex_scale_location_; } |
- int tex_offset_location() const { return tex_offset_location_; } |
- |
- private: |
- int matrix_location_; |
- int tex_scale_location_; |
- int tex_offset_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderPosTexYUVStretchOffset); |
-}; |
- |
-class VertexShaderPos { |
- public: |
- VertexShaderPos(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- |
- private: |
- int matrix_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderPos); |
-}; |
- |
-class VertexShaderPosTexIdentity { |
- public: |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index) {} |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class VertexShaderPosTexTransform { |
- public: |
- VertexShaderPosTexTransform(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- |
- int matrix_location() const { return matrix_location_; } |
- int tex_transform_location() const { return tex_transform_location_; } |
- int vertex_opacity_location() const { return vertex_opacity_location_; } |
- |
- private: |
- int matrix_location_; |
- int tex_transform_location_; |
- int vertex_opacity_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderPosTexTransform); |
-}; |
- |
-class VertexShaderQuad { |
- public: |
- VertexShaderQuad(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- int viewport_location() const { return -1; } |
- int quad_location() const { return quad_location_; } |
- int edge_location() const { return -1; } |
- |
- private: |
- int matrix_location_; |
- int quad_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderQuad); |
-}; |
- |
-class VertexShaderQuadAA { |
- public: |
- VertexShaderQuadAA(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- int viewport_location() const { return viewport_location_; } |
- int quad_location() const { return quad_location_; } |
- int edge_location() const { return edge_location_; } |
- |
- private: |
- int matrix_location_; |
- int viewport_location_; |
- int quad_location_; |
- int edge_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderQuadAA); |
-}; |
- |
- |
-class VertexShaderQuadTexTransformAA { |
- public: |
- VertexShaderQuadTexTransformAA(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- |
- int matrix_location() const { return matrix_location_; } |
- int viewport_location() const { return viewport_location_; } |
- int quad_location() const { return quad_location_; } |
- int edge_location() const { return edge_location_; } |
- int tex_transform_location() const { return tex_transform_location_; } |
- |
- private: |
- int matrix_location_; |
- int viewport_location_; |
- int quad_location_; |
- int edge_location_; |
- int tex_transform_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderQuadTexTransformAA); |
-}; |
- |
-class VertexShaderTile { |
- public: |
- VertexShaderTile(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- int viewport_location() const { return -1; } |
- int quad_location() const { return quad_location_; } |
- int edge_location() const { return -1; } |
- int vertex_tex_transform_location() const { |
- return vertex_tex_transform_location_; |
- } |
- |
- private: |
- int matrix_location_; |
- int quad_location_; |
- int vertex_tex_transform_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderTile); |
-}; |
- |
-class VertexShaderTileAA { |
- public: |
- VertexShaderTileAA(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- int viewport_location() const { return viewport_location_; } |
- int quad_location() const { return quad_location_; } |
- int edge_location() const { return edge_location_; } |
- int vertex_tex_transform_location() const { |
- return vertex_tex_transform_location_; |
- } |
- |
- private: |
- int matrix_location_; |
- int viewport_location_; |
- int quad_location_; |
- int edge_location_; |
- int vertex_tex_transform_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderTileAA); |
-}; |
- |
-class VertexShaderVideoTransform { |
- public: |
- VertexShaderVideoTransform(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString() const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- int matrix_location() const { return matrix_location_; } |
- int tex_matrix_location() const { return tex_matrix_location_; } |
- |
- private: |
- int matrix_location_; |
- int tex_matrix_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(VertexShaderVideoTransform); |
-}; |
- |
-class FragmentTexBlendMode { |
- public: |
- int backdrop_location() const { return backdrop_location_; } |
- int original_backdrop_location() const { return original_backdrop_location_; } |
- int backdrop_rect_location() const { return backdrop_rect_location_; } |
- |
- BlendMode blend_mode() const { return blend_mode_; } |
- void set_blend_mode(BlendMode blend_mode) { blend_mode_ = blend_mode; } |
- bool has_blend_mode() const { return blend_mode_ != BLEND_MODE_NONE; } |
- void set_mask_for_background(bool mask_for_background) { |
- mask_for_background_ = mask_for_background; |
- } |
- bool mask_for_background() const { return mask_for_background_; } |
- |
- protected: |
- FragmentTexBlendMode(); |
- |
- std::string SetBlendModeFunctions(std::string shader_string) const; |
- |
- int backdrop_location_; |
- int original_backdrop_location_; |
- int backdrop_rect_location_; |
- |
- private: |
- BlendMode blend_mode_; |
- bool mask_for_background_; |
- |
- std::string GetHelperFunctions() const; |
- std::string GetBlendFunction() const; |
- std::string GetBlendFunctionBodyForRGB() const; |
-}; |
- |
-class FragmentTexAlphaBinding : public FragmentTexBlendMode { |
- public: |
- FragmentTexAlphaBinding(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int fragment_tex_transform_location() const { return -1; } |
- int sampler_location() const { return sampler_location_; } |
- |
- private: |
- int sampler_location_; |
- int alpha_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentTexAlphaBinding); |
-}; |
- |
-class FragmentTexColorMatrixAlphaBinding : public FragmentTexBlendMode { |
- public: |
- FragmentTexColorMatrixAlphaBinding(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int color_matrix_location() const { return color_matrix_location_; } |
- int color_offset_location() const { return color_offset_location_; } |
- int fragment_tex_transform_location() const { return -1; } |
- int sampler_location() const { return sampler_location_; } |
- |
- private: |
- int sampler_location_; |
- int alpha_location_; |
- int color_matrix_location_; |
- int color_offset_location_; |
-}; |
- |
-class FragmentTexOpaqueBinding : public FragmentTexBlendMode { |
- public: |
- FragmentTexOpaqueBinding(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_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: |
- int sampler_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentTexOpaqueBinding); |
-}; |
- |
-class FragmentTexBackgroundBinding : public FragmentTexBlendMode { |
- public: |
- FragmentTexBackgroundBinding(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- 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, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderRGBATexPremultiplyAlpha : public FragmentTexOpaqueBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderTexBackgroundVaryingAlpha |
- : public FragmentTexBackgroundBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderTexBackgroundPremultiplyAlpha |
- : public FragmentTexBackgroundBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderRGBATexAlpha : public FragmentTexAlphaBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
-}; |
- |
-class FragmentShaderRGBATexColorMatrixAlpha |
- : public FragmentTexColorMatrixAlphaBinding { |
- public: |
- std::string GetShaderString(TexCoordPrecision precision, |
- SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
-}; |
- |
-class FragmentShaderRGBATexOpaque : public FragmentTexOpaqueBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderRGBATex : public FragmentTexOpaqueBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-// Swizzles the red and blue component of sampled texel with alpha. |
-class FragmentShaderRGBATexSwizzleAlpha : public FragmentTexAlphaBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-// Swizzles the red and blue component of sampled texel without alpha. |
-class FragmentShaderRGBATexSwizzleOpaque : public FragmentTexOpaqueBinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderRGBATexAlphaAA : public FragmentTexBlendMode { |
- public: |
- FragmentShaderRGBATexAlphaAA(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- |
- private: |
- int sampler_location_; |
- int alpha_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderRGBATexAlphaAA); |
-}; |
- |
-class FragmentTexClampAlphaAABinding : public FragmentTexBlendMode { |
- public: |
- FragmentTexClampAlphaAABinding(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- int fragment_tex_transform_location() const { |
- return fragment_tex_transform_location_; |
- } |
- |
- private: |
- int sampler_location_; |
- int alpha_location_; |
- int fragment_tex_transform_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentTexClampAlphaAABinding); |
-}; |
- |
-class FragmentShaderRGBATexClampAlphaAA |
- : public FragmentTexClampAlphaAABinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-// Swizzles the red and blue component of sampled texel. |
-class FragmentShaderRGBATexClampSwizzleAlphaAA |
- : public FragmentTexClampAlphaAABinding { |
- public: |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
-}; |
- |
-class FragmentShaderRGBATexAlphaMask : public FragmentTexBlendMode { |
- public: |
- FragmentShaderRGBATexAlphaMask(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- int mask_sampler_location() const { return mask_sampler_location_; } |
- int mask_tex_coord_scale_location() const { |
- return mask_tex_coord_scale_location_; |
- } |
- int mask_tex_coord_offset_location() const { |
- return mask_tex_coord_offset_location_; |
- } |
- |
- private: |
- int sampler_location_; |
- int mask_sampler_location_; |
- int alpha_location_; |
- int mask_tex_coord_scale_location_; |
- int mask_tex_coord_offset_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderRGBATexAlphaMask); |
-}; |
- |
-class FragmentShaderRGBATexAlphaMaskAA : public FragmentTexBlendMode { |
- public: |
- FragmentShaderRGBATexAlphaMaskAA(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- int mask_sampler_location() const { return mask_sampler_location_; } |
- int mask_tex_coord_scale_location() const { |
- return mask_tex_coord_scale_location_; |
- } |
- int mask_tex_coord_offset_location() const { |
- return mask_tex_coord_offset_location_; |
- } |
- |
- private: |
- int sampler_location_; |
- int mask_sampler_location_; |
- int alpha_location_; |
- int mask_tex_coord_scale_location_; |
- int mask_tex_coord_offset_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderRGBATexAlphaMaskAA); |
-}; |
- |
-class FragmentShaderRGBATexAlphaMaskColorMatrixAA |
- : public FragmentTexBlendMode { |
- public: |
- FragmentShaderRGBATexAlphaMaskColorMatrixAA(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- int mask_sampler_location() const { return mask_sampler_location_; } |
- int mask_tex_coord_scale_location() const { |
- return mask_tex_coord_scale_location_; |
- } |
- int mask_tex_coord_offset_location() const { |
- return mask_tex_coord_offset_location_; |
- } |
- int color_matrix_location() const { return color_matrix_location_; } |
- int color_offset_location() const { return color_offset_location_; } |
- |
- private: |
- int sampler_location_; |
- int mask_sampler_location_; |
- int alpha_location_; |
- int mask_tex_coord_scale_location_; |
- int mask_tex_coord_offset_location_; |
- int color_matrix_location_; |
- int color_offset_location_; |
-}; |
- |
-class FragmentShaderRGBATexAlphaColorMatrixAA : public FragmentTexBlendMode { |
- public: |
- FragmentShaderRGBATexAlphaColorMatrixAA(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- int color_matrix_location() const { return color_matrix_location_; } |
- int color_offset_location() const { return color_offset_location_; } |
- |
- private: |
- int sampler_location_; |
- int alpha_location_; |
- int color_matrix_location_; |
- int color_offset_location_; |
-}; |
- |
-class FragmentShaderRGBATexAlphaMaskColorMatrix : public FragmentTexBlendMode { |
- public: |
- FragmentShaderRGBATexAlphaMaskColorMatrix(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- void FillLocations(ShaderLocations* locations) const; |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int sampler_location() const { return sampler_location_; } |
- int mask_sampler_location() const { return mask_sampler_location_; } |
- int mask_tex_coord_scale_location() const { |
- return mask_tex_coord_scale_location_; |
- } |
- int mask_tex_coord_offset_location() const { |
- return mask_tex_coord_offset_location_; |
- } |
- int color_matrix_location() const { return color_matrix_location_; } |
- int color_offset_location() const { return color_offset_location_; } |
- |
- private: |
- int sampler_location_; |
- int mask_sampler_location_; |
- int alpha_location_; |
- int mask_tex_coord_scale_location_; |
- int mask_tex_coord_offset_location_; |
- int color_matrix_location_; |
- int color_offset_location_; |
-}; |
- |
-class FragmentShaderYUVVideo : public FragmentTexBlendMode { |
- public: |
- FragmentShaderYUVVideo(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int y_texture_location() const { return y_texture_location_; } |
- int u_texture_location() const { return u_texture_location_; } |
- int v_texture_location() const { return v_texture_location_; } |
- int alpha_location() const { return alpha_location_; } |
- int yuv_matrix_location() const { return yuv_matrix_location_; } |
- int yuv_adj_location() const { return yuv_adj_location_; } |
- int clamp_rect_location() const { return clamp_rect_location_; } |
- |
- private: |
- int y_texture_location_; |
- int u_texture_location_; |
- int v_texture_location_; |
- int alpha_location_; |
- int yuv_matrix_location_; |
- int yuv_adj_location_; |
- int clamp_rect_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderYUVVideo); |
-}; |
- |
-class FragmentShaderYUVAVideo : public FragmentTexBlendMode { |
- public: |
- FragmentShaderYUVAVideo(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- |
- int y_texture_location() const { return y_texture_location_; } |
- int u_texture_location() const { return u_texture_location_; } |
- int v_texture_location() const { return v_texture_location_; } |
- int a_texture_location() const { return a_texture_location_; } |
- int alpha_location() const { return alpha_location_; } |
- int yuv_matrix_location() const { return yuv_matrix_location_; } |
- int yuv_adj_location() const { return yuv_adj_location_; } |
- int clamp_rect_location() const { return clamp_rect_location_; } |
- |
- private: |
- int y_texture_location_; |
- int u_texture_location_; |
- int v_texture_location_; |
- int a_texture_location_; |
- int alpha_location_; |
- int yuv_matrix_location_; |
- int yuv_adj_location_; |
- int clamp_rect_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderYUVAVideo); |
-}; |
- |
-class FragmentShaderColor : public FragmentTexBlendMode { |
- public: |
- FragmentShaderColor(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int color_location() const { return color_location_; } |
- |
- private: |
- int color_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderColor); |
-}; |
- |
-class FragmentShaderColorAA : public FragmentTexBlendMode { |
- public: |
- FragmentShaderColorAA(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int color_location() const { return color_location_; } |
- |
- private: |
- int color_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderColorAA); |
-}; |
- |
-class FragmentShaderCheckerboard : public FragmentTexBlendMode { |
- public: |
- FragmentShaderCheckerboard(); |
- std::string GetShaderString( |
- TexCoordPrecision precision, SamplerType sampler) const; |
- static std::string GetShaderHead(); |
- static std::string GetShaderBody(); |
- |
- void Init(gpu::gles2::GLES2Interface* context, |
- unsigned program, |
- int* base_uniform_index); |
- int alpha_location() const { return alpha_location_; } |
- int tex_transform_location() const { return tex_transform_location_; } |
- int frequency_location() const { return frequency_location_; } |
- int color_location() const { return color_location_; } |
- |
- private: |
- int alpha_location_; |
- int tex_transform_location_; |
- int frequency_location_; |
- int color_location_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FragmentShaderCheckerboard); |
-}; |
- |
-} // namespace cc |
- |
-#endif // CC_OUTPUT_SHADER_H_ |