| Index: cc/output/gl_renderer.h
|
| diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h
|
| index 2af2c3091e04adaea2d2c0b298383a841be91659..3e9adfad29f813455c5dd3ec781db1619dbf116c 100644
|
| --- a/cc/output/gl_renderer.h
|
| +++ b/cc/output/gl_renderer.h
|
| @@ -294,69 +294,43 @@ class CC_EXPORT GLRenderer : public DirectRenderer {
|
| // itself. Add any new programs here to GLRendererShaderTest.
|
|
|
| // Tiled layer shaders.
|
| - typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexAlpha>
|
| - TileProgram;
|
| - typedef ProgramBinding<VertexShaderTileAA, FragmentShaderRGBATexClampAlphaAA>
|
| - TileProgramAA;
|
| - typedef ProgramBinding<VertexShaderTileAA,
|
| - FragmentShaderRGBATexClampSwizzleAlphaAA>
|
| - TileProgramSwizzleAA;
|
| - typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexOpaque>
|
| - TileProgramOpaque;
|
| - typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexSwizzleAlpha>
|
| - TileProgramSwizzle;
|
| - typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexSwizzleOpaque>
|
| - TileProgramSwizzleOpaque;
|
| + typedef Program TileProgram;
|
| + typedef Program TileProgramAA;
|
| + typedef Program TileProgramSwizzleAA;
|
| + typedef Program TileProgramOpaque;
|
| + typedef Program TileProgramSwizzle;
|
| + typedef Program TileProgramSwizzleOpaque;
|
|
|
| // Texture shaders.
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderRGBATexVaryingAlpha> TextureProgram;
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderRGBATexPremultiplyAlpha>
|
| - NonPremultipliedTextureProgram;
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderTexBackgroundVaryingAlpha>
|
| - TextureBackgroundProgram;
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderTexBackgroundPremultiplyAlpha>
|
| - NonPremultipliedTextureBackgroundProgram;
|
| + typedef Program TextureProgram;
|
| + typedef Program NonPremultipliedTextureProgram;
|
| + typedef Program TextureBackgroundProgram;
|
| + typedef Program NonPremultipliedTextureBackgroundProgram;
|
|
|
| // Render surface shaders.
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderRGBATexAlpha> RenderPassProgram;
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderRGBATexAlphaMask> RenderPassMaskProgram;
|
| - typedef ProgramBinding<VertexShaderQuadTexTransformAA,
|
| - FragmentShaderRGBATexAlphaAA> RenderPassProgramAA;
|
| - typedef ProgramBinding<VertexShaderQuadTexTransformAA,
|
| - FragmentShaderRGBATexAlphaMaskAA>
|
| - RenderPassMaskProgramAA;
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderRGBATexColorMatrixAlpha>
|
| - RenderPassColorMatrixProgram;
|
| - typedef ProgramBinding<VertexShaderQuadTexTransformAA,
|
| - FragmentShaderRGBATexAlphaMaskColorMatrixAA>
|
| - RenderPassMaskColorMatrixProgramAA;
|
| - typedef ProgramBinding<VertexShaderQuadTexTransformAA,
|
| - FragmentShaderRGBATexAlphaColorMatrixAA>
|
| - RenderPassColorMatrixProgramAA;
|
| - typedef ProgramBinding<VertexShaderPosTexTransform,
|
| - FragmentShaderRGBATexAlphaMaskColorMatrix>
|
| - RenderPassMaskColorMatrixProgram;
|
| + typedef Program RenderPassProgram;
|
| + typedef Program RenderPassMaskProgram;
|
| + typedef Program RenderPassProgramAA;
|
| + typedef Program RenderPassMaskProgramAA;
|
| + typedef Program RenderPassColorMatrixProgram;
|
| + typedef Program RenderPassMaskColorMatrixProgramAA;
|
| + typedef Program RenderPassColorMatrixProgramAA;
|
| + typedef Program RenderPassMaskColorMatrixProgram;
|
|
|
| // Video shaders.
|
| - typedef ProgramBinding<VertexShaderVideoTransform, FragmentShaderRGBATex>
|
| - VideoStreamTextureProgram;
|
| - typedef ProgramBinding<VertexShaderPosTexYUVStretchOffset,
|
| - FragmentShaderYUVVideo> VideoYUVProgram;
|
| + typedef Program VideoStreamTextureProgram;
|
| + typedef ProgramBinding<VertexShaderBase, FragmentShaderYUVVideo>
|
| + VideoYUVProgram;
|
|
|
| // Special purpose / effects shaders.
|
| - typedef ProgramBinding<VertexShaderPos, FragmentShaderColor>
|
| - DebugBorderProgram;
|
| - typedef ProgramBinding<VertexShaderQuad, FragmentShaderColor>
|
| - SolidColorProgram;
|
| - typedef ProgramBinding<VertexShaderQuadAA, FragmentShaderColorAA>
|
| - SolidColorProgramAA;
|
| + typedef Program DebugBorderProgram;
|
| + typedef Program SolidColorProgram;
|
| + typedef Program SolidColorProgramAA;
|
| +
|
| + const Program* GetProgram(const ProgramKey& key);
|
| + const Program* GetProgramForTesting(const ProgramKey& key) const;
|
| + std::unordered_map<ProgramKey, std::unique_ptr<Program>, ProgramKeyHash>
|
| + program_cache_;
|
|
|
| const TileProgram* GetTileProgram(
|
| TexCoordPrecision precision, SamplerType sampler);
|
| @@ -426,71 +400,8 @@ class CC_EXPORT GLRenderer : public DirectRenderer {
|
| const SolidColorProgram* GetSolidColorProgram();
|
| const SolidColorProgramAA* GetSolidColorProgramAA();
|
|
|
| - TileProgram
|
| - tile_program_[LAST_TEX_COORD_PRECISION + 1][LAST_SAMPLER_TYPE + 1];
|
| - TileProgramOpaque
|
| - tile_program_opaque_[LAST_TEX_COORD_PRECISION + 1][LAST_SAMPLER_TYPE + 1];
|
| - TileProgramAA
|
| - tile_program_aa_[LAST_TEX_COORD_PRECISION + 1][LAST_SAMPLER_TYPE + 1];
|
| - TileProgramSwizzle tile_program_swizzle_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_SAMPLER_TYPE + 1];
|
| - TileProgramSwizzleOpaque
|
| - tile_program_swizzle_opaque_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_SAMPLER_TYPE + 1];
|
| - TileProgramSwizzleAA tile_program_swizzle_aa_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_SAMPLER_TYPE + 1];
|
| -
|
| - TextureProgram
|
| - texture_program_[LAST_TEX_COORD_PRECISION + 1][LAST_SAMPLER_TYPE + 1];
|
| - NonPremultipliedTextureProgram
|
| - nonpremultiplied_texture_program_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_SAMPLER_TYPE + 1];
|
| - TextureBackgroundProgram
|
| - texture_background_program_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_SAMPLER_TYPE + 1];
|
| - NonPremultipliedTextureBackgroundProgram
|
| - nonpremultiplied_texture_background_program_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_SAMPLER_TYPE + 1];
|
| -
|
| - RenderPassProgram
|
| - render_pass_program_[LAST_TEX_COORD_PRECISION + 1][LAST_BLEND_MODE + 1];
|
| - RenderPassProgramAA render_pass_program_aa_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_BLEND_MODE + 1];
|
| - RenderPassMaskProgram
|
| - render_pass_mask_program_[LAST_TEX_COORD_PRECISION + 1]
|
| - [LAST_SAMPLER_TYPE + 1]
|
| - [LAST_BLEND_MODE + 1]
|
| - [LAST_MASK_VALUE + 1];
|
| - RenderPassMaskProgramAA
|
| - render_pass_mask_program_aa_[LAST_TEX_COORD_PRECISION + 1]
|
| - [LAST_SAMPLER_TYPE + 1]
|
| - [LAST_BLEND_MODE + 1]
|
| - [LAST_MASK_VALUE + 1];
|
| - RenderPassColorMatrixProgram
|
| - render_pass_color_matrix_program_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_BLEND_MODE + 1];
|
| - RenderPassColorMatrixProgramAA
|
| - render_pass_color_matrix_program_aa_[LAST_TEX_COORD_PRECISION +
|
| - 1][LAST_BLEND_MODE + 1];
|
| - RenderPassMaskColorMatrixProgram
|
| - render_pass_mask_color_matrix_program_[LAST_TEX_COORD_PRECISION + 1]
|
| - [LAST_SAMPLER_TYPE + 1]
|
| - [LAST_BLEND_MODE + 1]
|
| - [LAST_MASK_VALUE + 1];
|
| - RenderPassMaskColorMatrixProgramAA
|
| - render_pass_mask_color_matrix_program_aa_[LAST_TEX_COORD_PRECISION + 1]
|
| - [LAST_SAMPLER_TYPE + 1]
|
| - [LAST_BLEND_MODE + 1]
|
| - [LAST_MASK_VALUE + 1];
|
| -
|
| VideoYUVProgram video_yuv_program_[LAST_TEX_COORD_PRECISION + 1]
|
| [LAST_SAMPLER_TYPE + 1][2][2][2];
|
| - VideoStreamTextureProgram
|
| - video_stream_texture_program_[LAST_TEX_COORD_PRECISION + 1];
|
| -
|
| - DebugBorderProgram debug_border_program_;
|
| - SolidColorProgram solid_color_program_;
|
| - SolidColorProgramAA solid_color_program_aa_;
|
|
|
| gpu::gles2::GLES2Interface* gl_;
|
| gpu::ContextSupport* context_support_;
|
|
|