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 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 // the program before returning it. | 294 // the program before returning it. |
295 const Program* GetProgram(const ProgramKey& key); | 295 const Program* GetProgram(const ProgramKey& key); |
296 | 296 |
297 // This will return nullptr if the requested program has not yet been | 297 // This will return nullptr if the requested program has not yet been |
298 // initialized. | 298 // initialized. |
299 const Program* GetProgramIfInitialized(const ProgramKey& key) const; | 299 const Program* GetProgramIfInitialized(const ProgramKey& key) const; |
300 | 300 |
301 std::unordered_map<ProgramKey, std::unique_ptr<Program>, ProgramKeyHash> | 301 std::unordered_map<ProgramKey, std::unique_ptr<Program>, ProgramKeyHash> |
302 program_cache_; | 302 program_cache_; |
303 | 303 |
304 typedef ProgramBinding<VertexShaderBase, FragmentShaderYUVVideo> | |
305 VideoYUVProgram; | |
306 const VideoYUVProgram* GetVideoYUVProgram(TexCoordPrecision precision, | |
307 SamplerType sampler, | |
308 bool use_alpha_texture, | |
309 bool use_nv12, | |
310 bool use_color_lut); | |
311 VideoYUVProgram video_yuv_program_[LAST_TEX_COORD_PRECISION + 1] | |
312 [LAST_SAMPLER_TYPE + 1][2][2][2]; | |
313 | |
314 gpu::gles2::GLES2Interface* gl_; | 304 gpu::gles2::GLES2Interface* gl_; |
315 gpu::ContextSupport* context_support_; | 305 gpu::ContextSupport* context_support_; |
316 std::unique_ptr<ContextCacheController::ScopedVisibility> context_visibility_; | 306 std::unique_ptr<ContextCacheController::ScopedVisibility> context_visibility_; |
317 | 307 |
318 TextureMailboxDeleter* texture_mailbox_deleter_; | 308 TextureMailboxDeleter* texture_mailbox_deleter_; |
319 | 309 |
320 gfx::Rect swap_buffer_rect_; | 310 gfx::Rect swap_buffer_rect_; |
321 gfx::Rect scissor_rect_; | 311 gfx::Rect scissor_rect_; |
322 bool is_using_bind_uniform_; | 312 bool is_using_bind_uniform_; |
323 bool is_scissor_enabled_; | 313 bool is_scissor_enabled_; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 bool force_drawing_frame_framebuffer_unflipped_ = false; | 351 bool force_drawing_frame_framebuffer_unflipped_ = false; |
362 | 352 |
363 BoundGeometry bound_geometry_; | 353 BoundGeometry bound_geometry_; |
364 ColorLUTCache color_lut_cache_; | 354 ColorLUTCache color_lut_cache_; |
365 DISALLOW_COPY_AND_ASSIGN(GLRenderer); | 355 DISALLOW_COPY_AND_ASSIGN(GLRenderer); |
366 }; | 356 }; |
367 | 357 |
368 } // namespace cc | 358 } // namespace cc |
369 | 359 |
370 #endif // CC_OUTPUT_GL_RENDERER_H_ | 360 #endif // CC_OUTPUT_GL_RENDERER_H_ |
OLD | NEW |