Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index c1937fd9d314f3883b208b7239ad4e06d802166c..e79f3b26e4dfdc7fde3d510c97c2f2d01afd7bf4 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -3288,8 +3288,8 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) { |
const GLRenderer::DebugBorderProgram* GLRenderer::GetDebugBorderProgram() { |
if (!debug_border_program_.initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::debugBorderProgram::initialize"); |
- debug_border_program_.Initialize(output_surface_->context_provider(), |
- TEX_COORD_PRECISION_NA, SAMPLER_TYPE_NA); |
+ debug_border_program_.InitializeDebugBorderProgram( |
+ output_surface_->context_provider()); |
} |
return &debug_border_program_; |
} |
@@ -3297,8 +3297,8 @@ const GLRenderer::DebugBorderProgram* GLRenderer::GetDebugBorderProgram() { |
const GLRenderer::SolidColorProgram* GLRenderer::GetSolidColorProgram() { |
if (!solid_color_program_.initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::solidColorProgram::initialize"); |
- solid_color_program_.Initialize(output_surface_->context_provider(), |
- TEX_COORD_PRECISION_NA, SAMPLER_TYPE_NA); |
+ solid_color_program_.InitializeSolidColorProgram( |
+ output_surface_->context_provider(), false); |
} |
return &solid_color_program_; |
} |
@@ -3306,8 +3306,8 @@ const GLRenderer::SolidColorProgram* GLRenderer::GetSolidColorProgram() { |
const GLRenderer::SolidColorProgramAA* GLRenderer::GetSolidColorProgramAA() { |
if (!solid_color_program_aa_.initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::solidColorProgramAA::initialize"); |
- solid_color_program_aa_.Initialize(output_surface_->context_provider(), |
- TEX_COORD_PRECISION_NA, SAMPLER_TYPE_NA); |
+ solid_color_program_aa_.InitializeSolidColorProgram( |
+ output_surface_->context_provider(), true); |
} |
return &solid_color_program_aa_; |
} |
@@ -3322,8 +3322,9 @@ const GLRenderer::RenderPassProgram* GLRenderer::GetRenderPassProgram( |
RenderPassProgram* program = &render_pass_program_[precision][blend_mode]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::renderPassProgram::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- SAMPLER_TYPE_2D, blend_mode); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, SAMPLER_TYPE_2D, blend_mode, |
+ NO_AA, NO_MASK, false, false); |
} |
return program; |
} |
@@ -3339,8 +3340,9 @@ const GLRenderer::RenderPassProgramAA* GLRenderer::GetRenderPassProgramAA( |
&render_pass_program_aa_[precision][blend_mode]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::renderPassProgramAA::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- SAMPLER_TYPE_2D, blend_mode); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, SAMPLER_TYPE_2D, blend_mode, |
+ USE_AA, NO_MASK, false, false); |
} |
return program; |
} |
@@ -3361,9 +3363,9 @@ const GLRenderer::RenderPassMaskProgram* GLRenderer::GetRenderPassMaskProgram( |
[mask_for_background ? HAS_MASK : NO_MASK]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::renderPassMaskProgram::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, |
- sampler, blend_mode, mask_for_background); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, sampler, blend_mode, NO_AA, |
+ HAS_MASK, mask_for_background, false); |
} |
return program; |
} |
@@ -3384,9 +3386,9 @@ GLRenderer::GetRenderPassMaskProgramAA(TexCoordPrecision precision, |
[mask_for_background ? HAS_MASK : NO_MASK]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::renderPassMaskProgramAA::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, |
- sampler, blend_mode, mask_for_background); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, sampler, blend_mode, USE_AA, |
+ HAS_MASK, mask_for_background, false); |
} |
return program; |
} |
@@ -3402,8 +3404,9 @@ GLRenderer::GetRenderPassColorMatrixProgram(TexCoordPrecision precision, |
&render_pass_color_matrix_program_[precision][blend_mode]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::renderPassColorMatrixProgram::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- SAMPLER_TYPE_2D, blend_mode); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, SAMPLER_TYPE_2D, blend_mode, |
+ NO_AA, NO_MASK, false, true); |
} |
return program; |
} |
@@ -3420,8 +3423,9 @@ GLRenderer::GetRenderPassColorMatrixProgramAA(TexCoordPrecision precision, |
if (!program->initialized()) { |
TRACE_EVENT0("cc", |
"GLRenderer::renderPassColorMatrixProgramAA::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- SAMPLER_TYPE_2D, blend_mode); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, SAMPLER_TYPE_2D, blend_mode, |
+ USE_AA, NO_MASK, false, true); |
} |
return program; |
} |
@@ -3444,9 +3448,9 @@ GLRenderer::GetRenderPassMaskColorMatrixProgram( |
if (!program->initialized()) { |
TRACE_EVENT0("cc", |
"GLRenderer::renderPassMaskColorMatrixProgram::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, |
- sampler, blend_mode, mask_for_background); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, sampler, blend_mode, NO_AA, |
+ HAS_MASK, mask_for_background, true); |
} |
return program; |
} |
@@ -3469,9 +3473,9 @@ GLRenderer::GetRenderPassMaskColorMatrixProgramAA( |
if (!program->initialized()) { |
TRACE_EVENT0("cc", |
"GLRenderer::renderPassMaskColorMatrixProgramAA::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, |
- sampler, blend_mode, mask_for_background); |
+ program->InitializeRenderPassProgram(output_surface_->context_provider(), |
+ precision, sampler, blend_mode, USE_AA, |
+ HAS_MASK, mask_for_background, true); |
} |
return program; |
} |
@@ -3486,8 +3490,9 @@ const GLRenderer::TileProgram* GLRenderer::GetTileProgram( |
TileProgram* program = &tile_program_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::tileProgram::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, sampler); |
+ program->InitializeTileProgram(output_surface_->context_provider(), |
+ precision, sampler, NO_AA, NO_SWIZZLE, |
+ NOT_OPAQUE); |
} |
return program; |
} |
@@ -3502,8 +3507,9 @@ const GLRenderer::TileProgramOpaque* GLRenderer::GetTileProgramOpaque( |
TileProgramOpaque* program = &tile_program_opaque_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::tileProgramOpaque::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, sampler); |
+ program->InitializeTileProgram(output_surface_->context_provider(), |
+ precision, sampler, NO_AA, NO_SWIZZLE, |
+ IS_OPAQUE); |
} |
return program; |
} |
@@ -3518,8 +3524,9 @@ const GLRenderer::TileProgramAA* GLRenderer::GetTileProgramAA( |
TileProgramAA* program = &tile_program_aa_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::tileProgramAA::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, sampler); |
+ program->InitializeTileProgram(output_surface_->context_provider(), |
+ precision, sampler, USE_AA, NO_SWIZZLE, |
+ NOT_OPAQUE); |
} |
return program; |
} |
@@ -3534,8 +3541,9 @@ const GLRenderer::TileProgramSwizzle* GLRenderer::GetTileProgramSwizzle( |
TileProgramSwizzle* program = &tile_program_swizzle_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::tileProgramSwizzle::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, sampler); |
+ program->InitializeTileProgram(output_surface_->context_provider(), |
+ precision, sampler, NO_AA, DO_SWIZZLE, |
+ NOT_OPAQUE); |
} |
return program; |
} |
@@ -3551,8 +3559,9 @@ GLRenderer::GetTileProgramSwizzleOpaque(TexCoordPrecision precision, |
&tile_program_swizzle_opaque_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::tileProgramSwizzleOpaque::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, sampler); |
+ program->InitializeTileProgram(output_surface_->context_provider(), |
+ precision, sampler, NO_AA, DO_SWIZZLE, |
+ IS_OPAQUE); |
} |
return program; |
} |
@@ -3567,8 +3576,9 @@ const GLRenderer::TileProgramSwizzleAA* GLRenderer::GetTileProgramSwizzleAA( |
TileProgramSwizzleAA* program = &tile_program_swizzle_aa_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::tileProgramSwizzleAA::initialize"); |
- program->Initialize( |
- output_surface_->context_provider(), precision, sampler); |
+ program->InitializeTileProgram(output_surface_->context_provider(), |
+ precision, sampler, USE_AA, DO_SWIZZLE, |
+ NOT_OPAQUE); |
} |
return program; |
} |
@@ -3583,8 +3593,9 @@ const GLRenderer::TextureProgram* GLRenderer::GetTextureProgram( |
TextureProgram* program = &texture_program_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::textureProgram::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- sampler); |
+ program->InitializeTextureProgram(output_surface_->context_provider(), |
+ precision, sampler, PREMULTIPLIED_ALPHA, |
+ false); |
} |
return program; |
} |
@@ -3601,8 +3612,9 @@ GLRenderer::GetNonPremultipliedTextureProgram(TexCoordPrecision precision, |
if (!program->initialized()) { |
TRACE_EVENT0("cc", |
"GLRenderer::NonPremultipliedTextureProgram::Initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- sampler); |
+ program->InitializeTextureProgram(output_surface_->context_provider(), |
+ precision, sampler, |
+ NON_PREMULTIPLIED_ALPHA, false); |
} |
return program; |
} |
@@ -3618,8 +3630,9 @@ GLRenderer::GetTextureBackgroundProgram(TexCoordPrecision precision, |
&texture_background_program_[precision][sampler]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::textureProgram::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- sampler); |
+ program->InitializeTextureProgram(output_surface_->context_provider(), |
+ precision, sampler, PREMULTIPLIED_ALPHA, |
+ true); |
} |
return program; |
} |
@@ -3637,8 +3650,9 @@ GLRenderer::GetNonPremultipliedTextureBackgroundProgram( |
if (!program->initialized()) { |
TRACE_EVENT0("cc", |
"GLRenderer::NonPremultipliedTextureProgram::Initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- sampler); |
+ program->InitializeTextureProgram(output_surface_->context_provider(), |
+ precision, sampler, |
+ NON_PREMULTIPLIED_ALPHA, true); |
} |
return program; |
} |
@@ -3658,10 +3672,9 @@ const GLRenderer::VideoYUVProgram* GLRenderer::GetVideoYUVProgram( |
[use_color_lut]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::videoYUVProgram::initialize"); |
- program->mutable_fragment_shader()->SetFeatures(use_alpha_plane, use_nv12, |
- use_color_lut); |
- program->Initialize(output_surface_->context_provider(), precision, |
- sampler); |
+ program->InitializeVideoYUVProgram(output_surface_->context_provider(), |
+ precision, sampler, use_alpha_plane, |
+ use_nv12, use_color_lut); |
} |
return program; |
} |
@@ -3674,8 +3687,8 @@ GLRenderer::GetVideoStreamTextureProgram(TexCoordPrecision precision) { |
&video_stream_texture_program_[precision]; |
if (!program->initialized()) { |
TRACE_EVENT0("cc", "GLRenderer::streamTextureProgram::initialize"); |
- program->Initialize(output_surface_->context_provider(), precision, |
- SAMPLER_TYPE_EXTERNAL_OES); |
+ program->InitializeVideoStreamProgram(output_surface_->context_provider(), |
+ precision); |
} |
return program; |
} |