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

Unified Diff: cc/output/gl_renderer.cc

Issue 2612823003: The great shader refactor: Delete all of the subclasses (Closed)
Patch Set: The great shader refactor: Delete all of the subclasses 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/gl_renderer.h ('k') | cc/output/program_binding.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
}
« no previous file with comments | « cc/output/gl_renderer.h ('k') | cc/output/program_binding.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698