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

Side by Side Diff: cc/output/gl_renderer.h

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 unified diff | Download patch
« no previous file with comments | « no previous file | cc/output/gl_renderer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_OUTPUT_GL_RENDERER_H_ 5 #ifndef CC_OUTPUT_GL_RENDERER_H_
6 #define CC_OUTPUT_GL_RENDERER_H_ 6 #define CC_OUTPUT_GL_RENDERER_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 unsigned offscreen_framebuffer_id_; 287 unsigned offscreen_framebuffer_id_;
288 288
289 std::unique_ptr<StaticGeometryBinding> shared_geometry_; 289 std::unique_ptr<StaticGeometryBinding> shared_geometry_;
290 std::unique_ptr<DynamicGeometryBinding> clipped_geometry_; 290 std::unique_ptr<DynamicGeometryBinding> clipped_geometry_;
291 gfx::QuadF shared_geometry_quad_; 291 gfx::QuadF shared_geometry_quad_;
292 292
293 // This block of bindings defines all of the programs used by the compositor 293 // This block of bindings defines all of the programs used by the compositor
294 // itself. Add any new programs here to GLRendererShaderTest. 294 // itself. Add any new programs here to GLRendererShaderTest.
295 295
296 // Tiled layer shaders. 296 // Tiled layer shaders.
297 typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexAlpha> 297 typedef ProgramBinding<FragmentShaderBase> TileProgram;
298 TileProgram; 298 typedef ProgramBinding<FragmentShaderBase> TileProgramAA;
299 typedef ProgramBinding<VertexShaderTileAA, FragmentShaderRGBATexClampAlphaAA> 299 typedef ProgramBinding<FragmentShaderBase> TileProgramSwizzleAA;
300 TileProgramAA; 300 typedef ProgramBinding<FragmentShaderBase> TileProgramOpaque;
301 typedef ProgramBinding<VertexShaderTileAA, 301 typedef ProgramBinding<FragmentShaderBase> TileProgramSwizzle;
302 FragmentShaderRGBATexClampSwizzleAlphaAA> 302 typedef ProgramBinding<FragmentShaderBase> TileProgramSwizzleOpaque;
303 TileProgramSwizzleAA;
304 typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexOpaque>
305 TileProgramOpaque;
306 typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexSwizzleAlpha>
307 TileProgramSwizzle;
308 typedef ProgramBinding<VertexShaderTile, FragmentShaderRGBATexSwizzleOpaque>
309 TileProgramSwizzleOpaque;
310 303
311 // Texture shaders. 304 // Texture shaders.
312 typedef ProgramBinding<VertexShaderPosTexTransform, 305 typedef ProgramBinding<FragmentShaderBase> TextureProgram;
313 FragmentShaderRGBATexVaryingAlpha> TextureProgram; 306 typedef ProgramBinding<FragmentShaderBase> NonPremultipliedTextureProgram;
314 typedef ProgramBinding<VertexShaderPosTexTransform, 307 typedef ProgramBinding<FragmentShaderBase> TextureBackgroundProgram;
315 FragmentShaderRGBATexPremultiplyAlpha> 308 typedef ProgramBinding<FragmentShaderBase>
316 NonPremultipliedTextureProgram;
317 typedef ProgramBinding<VertexShaderPosTexTransform,
318 FragmentShaderTexBackgroundVaryingAlpha>
319 TextureBackgroundProgram;
320 typedef ProgramBinding<VertexShaderPosTexTransform,
321 FragmentShaderTexBackgroundPremultiplyAlpha>
322 NonPremultipliedTextureBackgroundProgram; 309 NonPremultipliedTextureBackgroundProgram;
323 310
324 // Render surface shaders. 311 // Render surface shaders.
325 typedef ProgramBinding<VertexShaderPosTexTransform, 312 typedef ProgramBinding<FragmentShaderBase> RenderPassProgram;
326 FragmentShaderRGBATexAlpha> RenderPassProgram; 313 typedef ProgramBinding<FragmentShaderBase> RenderPassMaskProgram;
327 typedef ProgramBinding<VertexShaderPosTexTransform, 314 typedef ProgramBinding<FragmentShaderBase> RenderPassProgramAA;
328 FragmentShaderRGBATexAlphaMask> RenderPassMaskProgram; 315 typedef ProgramBinding<FragmentShaderBase> RenderPassMaskProgramAA;
329 typedef ProgramBinding<VertexShaderQuadTexTransformAA, 316 typedef ProgramBinding<FragmentShaderBase> RenderPassColorMatrixProgram;
330 FragmentShaderRGBATexAlphaAA> RenderPassProgramAA; 317 typedef ProgramBinding<FragmentShaderBase> RenderPassMaskColorMatrixProgramAA;
331 typedef ProgramBinding<VertexShaderQuadTexTransformAA, 318 typedef ProgramBinding<FragmentShaderBase> RenderPassColorMatrixProgramAA;
332 FragmentShaderRGBATexAlphaMaskAA> 319 typedef ProgramBinding<FragmentShaderBase> RenderPassMaskColorMatrixProgram;
333 RenderPassMaskProgramAA;
334 typedef ProgramBinding<VertexShaderPosTexTransform,
335 FragmentShaderRGBATexColorMatrixAlpha>
336 RenderPassColorMatrixProgram;
337 typedef ProgramBinding<VertexShaderQuadTexTransformAA,
338 FragmentShaderRGBATexAlphaMaskColorMatrixAA>
339 RenderPassMaskColorMatrixProgramAA;
340 typedef ProgramBinding<VertexShaderQuadTexTransformAA,
341 FragmentShaderRGBATexAlphaColorMatrixAA>
342 RenderPassColorMatrixProgramAA;
343 typedef ProgramBinding<VertexShaderPosTexTransform,
344 FragmentShaderRGBATexAlphaMaskColorMatrix>
345 RenderPassMaskColorMatrixProgram;
346 320
347 // Video shaders. 321 // Video shaders.
348 typedef ProgramBinding<VertexShaderVideoTransform, FragmentShaderRGBATex> 322 typedef ProgramBinding<FragmentShaderBase> VideoStreamTextureProgram;
349 VideoStreamTextureProgram; 323 typedef ProgramBinding<FragmentShaderYUVVideo> VideoYUVProgram;
350 typedef ProgramBinding<VertexShaderPosTexYUVStretchOffset,
351 FragmentShaderYUVVideo> VideoYUVProgram;
352 324
353 // Special purpose / effects shaders. 325 // Special purpose / effects shaders.
354 typedef ProgramBinding<VertexShaderPos, FragmentShaderColor> 326 typedef ProgramBinding<FragmentShaderBase> DebugBorderProgram;
355 DebugBorderProgram; 327 typedef ProgramBinding<FragmentShaderBase> SolidColorProgram;
356 typedef ProgramBinding<VertexShaderQuad, FragmentShaderColor> 328 typedef ProgramBinding<FragmentShaderBase> SolidColorProgramAA;
357 SolidColorProgram;
358 typedef ProgramBinding<VertexShaderQuadAA, FragmentShaderColorAA>
359 SolidColorProgramAA;
360 329
361 const TileProgram* GetTileProgram( 330 const TileProgram* GetTileProgram(
362 TexCoordPrecision precision, SamplerType sampler); 331 TexCoordPrecision precision, SamplerType sampler);
363 const TileProgramOpaque* GetTileProgramOpaque( 332 const TileProgramOpaque* GetTileProgramOpaque(
364 TexCoordPrecision precision, SamplerType sampler); 333 TexCoordPrecision precision, SamplerType sampler);
365 const TileProgramAA* GetTileProgramAA( 334 const TileProgramAA* GetTileProgramAA(
366 TexCoordPrecision precision, SamplerType sampler); 335 TexCoordPrecision precision, SamplerType sampler);
367 const TileProgramSwizzle* GetTileProgramSwizzle( 336 const TileProgramSwizzle* GetTileProgramSwizzle(
368 TexCoordPrecision precision, SamplerType sampler); 337 TexCoordPrecision precision, SamplerType sampler);
369 const TileProgramSwizzleOpaque* GetTileProgramSwizzleOpaque( 338 const TileProgramSwizzleOpaque* GetTileProgramSwizzleOpaque(
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 bool force_drawing_frame_framebuffer_unflipped_ = false; 511 bool force_drawing_frame_framebuffer_unflipped_ = false;
543 512
544 BoundGeometry bound_geometry_; 513 BoundGeometry bound_geometry_;
545 ColorLUTCache color_lut_cache_; 514 ColorLUTCache color_lut_cache_;
546 DISALLOW_COPY_AND_ASSIGN(GLRenderer); 515 DISALLOW_COPY_AND_ASSIGN(GLRenderer);
547 }; 516 };
548 517
549 } // namespace cc 518 } // namespace cc
550 519
551 #endif // CC_OUTPUT_GL_RENDERER_H_ 520 #endif // CC_OUTPUT_GL_RENDERER_H_
OLDNEW
« no previous file with comments | « no previous file | cc/output/gl_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698