Chromium Code Reviews| Index: cc/output/gl_renderer.h |
| diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h |
| index 956644ba0e30f2c18ea995e818393fd623885b42..def9a259d5b680bcd213b61a1a9e49d51c04575b 100644 |
| --- a/cc/output/gl_renderer.h |
| +++ b/cc/output/gl_renderer.h |
| @@ -264,9 +264,6 @@ class CC_EXPORT GLRenderer : public DirectRenderer { |
| typedef ProgramBinding<VertexShaderPosTexTransform, |
| FragmentShaderTexBackgroundPremultiplyAlpha> |
| NonPremultipliedTextureBackgroundProgram; |
| - typedef ProgramBinding<VertexShaderPosTexTransform, |
| - FragmentShaderRGBATexRectVaryingAlpha> |
| - TextureIOSurfaceProgram; |
| // Render surface shaders. |
| typedef ProgramBinding<VertexShaderPosTexTransform, |
| @@ -292,8 +289,7 @@ class CC_EXPORT GLRenderer : public DirectRenderer { |
| RenderPassMaskColorMatrixProgram; |
| // Video shaders. |
| - typedef ProgramBinding<VertexShaderVideoTransform, |
| - FragmentShaderOESImageExternal> |
| + typedef ProgramBinding<VertexShaderVideoTransform, FragmentShaderRGBATex> |
| VideoStreamTextureProgram; |
| typedef ProgramBinding<VertexShaderPosTexYUVStretch, FragmentShaderYUVVideo> |
| VideoYUVProgram; |
| @@ -308,14 +304,19 @@ class CC_EXPORT GLRenderer : public DirectRenderer { |
| typedef ProgramBinding<VertexShaderQuadAA, FragmentShaderColorAA> |
| SolidColorProgramAA; |
| - const TileProgram* GetTileProgram(TexCoordPrecision precision); |
| - const TileProgramOpaque* GetTileProgramOpaque(TexCoordPrecision precision); |
| - const TileProgramAA* GetTileProgramAA(TexCoordPrecision precision); |
| - const TileProgramSwizzle* GetTileProgramSwizzle(TexCoordPrecision precision); |
| + const TileProgram* GetTileProgram( |
| + TexCoordPrecision precision, SamplerType sampler); |
| + const TileProgramOpaque* GetTileProgramOpaque( |
| + TexCoordPrecision precision, SamplerType sampler); |
| + const TileProgramAA* GetTileProgramAA( |
| + TexCoordPrecision precision, SamplerType sampler); |
| + const TileProgramSwizzle* GetTileProgramSwizzle( |
| + TexCoordPrecision precision, SamplerType sampler); |
| const TileProgramSwizzleOpaque* GetTileProgramSwizzleOpaque( |
| - TexCoordPrecision precision); |
| + TexCoordPrecision precision, SamplerType sampler); |
| const TileProgramSwizzleAA* GetTileProgramSwizzleAA( |
| - TexCoordPrecision precision); |
| + TexCoordPrecision precision, SamplerType sampler); |
| + |
| const TileCheckerboardProgram* GetTileCheckerboardProgram(); |
| const RenderPassProgram* GetRenderPassProgram( |
| @@ -343,7 +344,7 @@ class CC_EXPORT GLRenderer : public DirectRenderer { |
| TexCoordPrecision precision); |
| const NonPremultipliedTextureBackgroundProgram* |
| GetNonPremultipliedTextureBackgroundProgram(TexCoordPrecision precision); |
| - const TextureIOSurfaceProgram* GetTextureIOSurfaceProgram( |
| + const TextureProgram* GetTextureIOSurfaceProgram( |
| TexCoordPrecision precision); |
| const VideoYUVProgram* GetVideoYUVProgram( |
| @@ -357,61 +358,44 @@ class CC_EXPORT GLRenderer : public DirectRenderer { |
| const SolidColorProgram* GetSolidColorProgram(); |
| const SolidColorProgramAA* GetSolidColorProgramAA(); |
| - TileProgram tile_program_; |
| - TileProgramOpaque tile_program_opaque_; |
| - TileProgramAA tile_program_aa_; |
| - TileProgramSwizzle tile_program_swizzle_; |
| - TileProgramSwizzleOpaque tile_program_swizzle_opaque_; |
| - TileProgramSwizzleAA tile_program_swizzle_aa_; |
| - TileCheckerboardProgram tile_checkerboard_program_; |
| + TileProgram tile_program_[NumTexCoordPrecisions][NumSamplerTypes]; |
|
epennerAtGoogle
2013/11/22 19:27:55
Hmm, could the program also become an enum? Then i
epennerAtGoogle
2013/11/22 19:31:17
Never mind regarding the functions. I see you alre
|
| + TileProgramOpaque |
| + tile_program_opaque_[NumTexCoordPrecisions][NumSamplerTypes]; |
| + TileProgramAA tile_program_aa_[NumTexCoordPrecisions][NumSamplerTypes]; |
| + TileProgramSwizzle |
| + tile_program_swizzle_[NumTexCoordPrecisions][NumSamplerTypes]; |
| + TileProgramSwizzleOpaque |
| + tile_program_swizzle_opaque_[NumTexCoordPrecisions][NumSamplerTypes]; |
| + TileProgramSwizzleAA |
| + tile_program_swizzle_aa_[NumTexCoordPrecisions][NumSamplerTypes]; |
| - TileProgram tile_program_highp_; |
| - TileProgramOpaque tile_program_opaque_highp_; |
| - TileProgramAA tile_program_aa_highp_; |
| - TileProgramSwizzle tile_program_swizzle_highp_; |
| - TileProgramSwizzleOpaque tile_program_swizzle_opaque_highp_; |
| - TileProgramSwizzleAA tile_program_swizzle_aa_highp_; |
| - |
| - TextureProgram texture_program_; |
| - NonPremultipliedTextureProgram nonpremultiplied_texture_program_; |
| - TextureBackgroundProgram texture_background_program_; |
| - NonPremultipliedTextureBackgroundProgram |
| - nonpremultiplied_texture_background_program_; |
| - TextureIOSurfaceProgram texture_io_surface_program_; |
| + TileCheckerboardProgram tile_checkerboard_program_; |
| - TextureProgram texture_program_highp_; |
| - NonPremultipliedTextureProgram nonpremultiplied_texture_program_highp_; |
| - TextureBackgroundProgram texture_background_program_highp_; |
| + TextureProgram texture_program_[NumTexCoordPrecisions]; |
| + NonPremultipliedTextureProgram |
| + nonpremultiplied_texture_program_[NumTexCoordPrecisions]; |
| + TextureBackgroundProgram texture_background_program_[NumTexCoordPrecisions]; |
| NonPremultipliedTextureBackgroundProgram |
| - nonpremultiplied_texture_background_program_highp_; |
| - TextureIOSurfaceProgram texture_io_surface_program_highp_; |
| - |
| - RenderPassProgram render_pass_program_; |
| - RenderPassProgramAA render_pass_program_aa_; |
| - RenderPassMaskProgram render_pass_mask_program_; |
| - RenderPassMaskProgramAA render_pass_mask_program_aa_; |
| - RenderPassColorMatrixProgram render_pass_color_matrix_program_; |
| - RenderPassColorMatrixProgramAA render_pass_color_matrix_program_aa_; |
| - RenderPassMaskColorMatrixProgram render_pass_mask_color_matrix_program_; |
| - RenderPassMaskColorMatrixProgramAA render_pass_mask_color_matrix_program_aa_; |
| - |
| - RenderPassProgram render_pass_program_highp_; |
| - RenderPassProgramAA render_pass_program_aa_highp_; |
| - RenderPassMaskProgram render_pass_mask_program_highp_; |
| - RenderPassMaskProgramAA render_pass_mask_program_aa_highp_; |
| - RenderPassColorMatrixProgram render_pass_color_matrix_program_highp_; |
| - RenderPassColorMatrixProgramAA render_pass_color_matrix_program_aa_highp_; |
| - RenderPassMaskColorMatrixProgram render_pass_mask_color_matrix_program_highp_; |
| + nonpremultiplied_texture_background_program_[NumTexCoordPrecisions]; |
| + TextureProgram texture_io_surface_program_[NumTexCoordPrecisions]; |
| + |
| + RenderPassProgram render_pass_program_[NumTexCoordPrecisions]; |
| + RenderPassProgramAA render_pass_program_aa_[NumTexCoordPrecisions]; |
| + RenderPassMaskProgram render_pass_mask_program_[NumTexCoordPrecisions]; |
| + RenderPassMaskProgramAA render_pass_mask_program_aa_[NumTexCoordPrecisions]; |
| + RenderPassColorMatrixProgram |
| + render_pass_color_matrix_program_[NumTexCoordPrecisions]; |
| + RenderPassColorMatrixProgramAA |
| + render_pass_color_matrix_program_aa_[NumTexCoordPrecisions]; |
| + RenderPassMaskColorMatrixProgram |
| + render_pass_mask_color_matrix_program_[NumTexCoordPrecisions]; |
| RenderPassMaskColorMatrixProgramAA |
| - render_pass_mask_color_matrix_program_aa_highp_; |
| - |
| - VideoYUVProgram video_yuv_program_; |
| - VideoYUVAProgram video_yuva_program_; |
| - VideoStreamTextureProgram video_stream_texture_program_; |
| + render_pass_mask_color_matrix_program_aa_[NumTexCoordPrecisions]; |
| - VideoYUVProgram video_yuv_program_highp_; |
| - VideoYUVAProgram video_yuva_program_highp_; |
| - VideoStreamTextureProgram video_stream_texture_program_highp_; |
| + VideoYUVProgram video_yuv_program_[NumTexCoordPrecisions]; |
| + VideoYUVAProgram video_yuva_program_[NumTexCoordPrecisions]; |
| + VideoStreamTextureProgram |
| + video_stream_texture_program_[NumTexCoordPrecisions]; |
| DebugBorderProgram debug_border_program_; |
| SolidColorProgram solid_color_program_; |