| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |