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

Unified Diff: cc/output/gl_renderer.cc

Issue 2628713002: The great shader refactor: Use ProgramKey to initialize shaders (Closed)
Patch Set: 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 | « no previous file | 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 ed790afcb55d3e9bc24b0113ddd4d15db1795478..506681e6a43b0d522553df0231f9f84231d43c08 100644
--- a/cc/output/gl_renderer.cc
+++ b/cc/output/gl_renderer.cc
@@ -3289,7 +3289,7 @@ 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);
+ ProgramKey::DebugBorder());
}
return &debug_border_program_;
}
@@ -3298,7 +3298,7 @@ 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);
+ ProgramKey::SolidColor(NO_AA));
}
return &solid_color_program_;
}
@@ -3307,7 +3307,7 @@ 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);
+ ProgramKey::SolidColor(USE_AA));
}
return &solid_color_program_aa_;
}
@@ -3322,8 +3322,10 @@ 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->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, SAMPLER_TYPE_2D, blend_mode, NO_AA,
+ NO_MASK, false, false));
}
return program;
}
@@ -3339,8 +3341,10 @@ 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->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, SAMPLER_TYPE_2D, blend_mode, USE_AA,
+ NO_MASK, false, false));
}
return program;
}
@@ -3362,8 +3366,9 @@ const GLRenderer::RenderPassMaskProgram* GLRenderer::GetRenderPassMaskProgram(
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::renderPassMaskProgram::initialize");
program->Initialize(
- output_surface_->context_provider(), precision,
- sampler, blend_mode, mask_for_background);
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, sampler, blend_mode, NO_AA, HAS_MASK,
+ mask_for_background, false));
}
return program;
}
@@ -3385,8 +3390,9 @@ GLRenderer::GetRenderPassMaskProgramAA(TexCoordPrecision precision,
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::renderPassMaskProgramAA::initialize");
program->Initialize(
- output_surface_->context_provider(), precision,
- sampler, blend_mode, mask_for_background);
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, sampler, blend_mode, USE_AA, HAS_MASK,
+ mask_for_background, false));
}
return program;
}
@@ -3402,8 +3408,10 @@ 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->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, SAMPLER_TYPE_2D, blend_mode, NO_AA,
+ NO_MASK, false, true));
}
return program;
}
@@ -3420,8 +3428,10 @@ 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->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, SAMPLER_TYPE_2D, blend_mode, USE_AA,
+ NO_MASK, false, true));
}
return program;
}
@@ -3445,8 +3455,9 @@ GLRenderer::GetRenderPassMaskColorMatrixProgram(
TRACE_EVENT0("cc",
"GLRenderer::renderPassMaskColorMatrixProgram::initialize");
program->Initialize(
- output_surface_->context_provider(), precision,
- sampler, blend_mode, mask_for_background);
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, sampler, blend_mode, NO_AA, HAS_MASK,
+ mask_for_background, true));
}
return program;
}
@@ -3470,8 +3481,9 @@ GLRenderer::GetRenderPassMaskColorMatrixProgramAA(
TRACE_EVENT0("cc",
"GLRenderer::renderPassMaskColorMatrixProgramAA::initialize");
program->Initialize(
- output_surface_->context_provider(), precision,
- sampler, blend_mode, mask_for_background);
+ output_surface_->context_provider(),
+ ProgramKey::RenderPass(precision, sampler, blend_mode, USE_AA, HAS_MASK,
+ mask_for_background, true));
}
return program;
}
@@ -3487,7 +3499,8 @@ const GLRenderer::TileProgram* GLRenderer::GetTileProgram(
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::tileProgram::initialize");
program->Initialize(
- output_surface_->context_provider(), precision, sampler);
+ output_surface_->context_provider(),
+ ProgramKey::Tile(precision, sampler, NO_AA, NO_SWIZZLE, false));
}
return program;
}
@@ -3503,7 +3516,8 @@ const GLRenderer::TileProgramOpaque* GLRenderer::GetTileProgramOpaque(
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::tileProgramOpaque::initialize");
program->Initialize(
- output_surface_->context_provider(), precision, sampler);
+ output_surface_->context_provider(),
+ ProgramKey::Tile(precision, sampler, NO_AA, NO_SWIZZLE, true));
}
return program;
}
@@ -3519,7 +3533,8 @@ const GLRenderer::TileProgramAA* GLRenderer::GetTileProgramAA(
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::tileProgramAA::initialize");
program->Initialize(
- output_surface_->context_provider(), precision, sampler);
+ output_surface_->context_provider(),
+ ProgramKey::Tile(precision, sampler, USE_AA, NO_SWIZZLE, false));
}
return program;
}
@@ -3535,7 +3550,8 @@ const GLRenderer::TileProgramSwizzle* GLRenderer::GetTileProgramSwizzle(
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::tileProgramSwizzle::initialize");
program->Initialize(
- output_surface_->context_provider(), precision, sampler);
+ output_surface_->context_provider(),
+ ProgramKey::Tile(precision, sampler, NO_AA, DO_SWIZZLE, false));
}
return program;
}
@@ -3552,7 +3568,8 @@ GLRenderer::GetTileProgramSwizzleOpaque(TexCoordPrecision precision,
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::tileProgramSwizzleOpaque::initialize");
program->Initialize(
- output_surface_->context_provider(), precision, sampler);
+ output_surface_->context_provider(),
+ ProgramKey::Tile(precision, sampler, NO_AA, DO_SWIZZLE, true));
}
return program;
}
@@ -3568,7 +3585,8 @@ const GLRenderer::TileProgramSwizzleAA* GLRenderer::GetTileProgramSwizzleAA(
if (!program->initialized()) {
TRACE_EVENT0("cc", "GLRenderer::tileProgramSwizzleAA::initialize");
program->Initialize(
- output_surface_->context_provider(), precision, sampler);
+ output_surface_->context_provider(),
+ ProgramKey::Tile(precision, sampler, USE_AA, DO_SWIZZLE, false));
}
return program;
}
@@ -3583,8 +3601,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->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::Texture(precision, sampler, PREMULTIPLIED_ALPHA, false));
}
return program;
}
@@ -3601,8 +3620,9 @@ GLRenderer::GetNonPremultipliedTextureProgram(TexCoordPrecision precision,
if (!program->initialized()) {
TRACE_EVENT0("cc",
"GLRenderer::NonPremultipliedTextureProgram::Initialize");
- program->Initialize(output_surface_->context_provider(), precision,
- sampler);
+ program->Initialize(output_surface_->context_provider(),
+ ProgramKey::Texture(precision, sampler,
+ NON_PREMULTIPLIED_ALPHA, false));
}
return program;
}
@@ -3618,8 +3638,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->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::Texture(precision, sampler, PREMULTIPLIED_ALPHA, true));
}
return program;
}
@@ -3637,8 +3658,9 @@ GLRenderer::GetNonPremultipliedTextureBackgroundProgram(
if (!program->initialized()) {
TRACE_EVENT0("cc",
"GLRenderer::NonPremultipliedTextureProgram::Initialize");
- program->Initialize(output_surface_->context_provider(), precision,
- sampler);
+ program->Initialize(
+ output_surface_->context_provider(),
+ ProgramKey::Texture(precision, sampler, NON_PREMULTIPLIED_ALPHA, true));
}
return program;
}
@@ -3673,8 +3695,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->Initialize(output_surface_->context_provider(),
+ ProgramKey::VideoStream(precision));
}
return program;
}
« no previous file with comments | « no previous file | cc/output/program_binding.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698