OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_DIRECT_RENDERER_H_ | 5 #ifndef CC_OUTPUT_DIRECT_RENDERER_H_ |
6 #define CC_OUTPUT_DIRECT_RENDERER_H_ | 6 #define CC_OUTPUT_DIRECT_RENDERER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/containers/scoped_ptr_hash_map.h" | 10 #include "base/containers/scoped_ptr_hash_map.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 const RenderPass* render_pass, | 111 const RenderPass* render_pass, |
112 bool allow_partial_swap); | 112 bool allow_partial_swap); |
113 bool UseRenderPass(DrawingFrame* frame, const RenderPass* render_pass); | 113 bool UseRenderPass(DrawingFrame* frame, const RenderPass* render_pass); |
114 | 114 |
115 virtual void BindFramebufferToOutputSurface(DrawingFrame* frame) = 0; | 115 virtual void BindFramebufferToOutputSurface(DrawingFrame* frame) = 0; |
116 virtual bool BindFramebufferToTexture(DrawingFrame* frame, | 116 virtual bool BindFramebufferToTexture(DrawingFrame* frame, |
117 const ScopedResource* resource, | 117 const ScopedResource* resource, |
118 gfx::Rect target_rect) = 0; | 118 gfx::Rect target_rect) = 0; |
119 virtual void SetDrawViewport(gfx::Rect window_space_viewport) = 0; | 119 virtual void SetDrawViewport(gfx::Rect window_space_viewport) = 0; |
120 virtual void SetScissorTestRect(gfx::Rect scissor_rect) = 0; | 120 virtual void SetScissorTestRect(gfx::Rect scissor_rect) = 0; |
121 virtual void ClearFramebuffer(DrawingFrame* frame) = 0; | 121 virtual void DiscardPixels(bool has_external_stencil_test, |
| 122 bool draw_rect_covers_full_surface) = 0; |
| 123 virtual void ClearFramebuffer(DrawingFrame* frame, |
| 124 bool has_external_stencil_test) = 0; |
122 virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) = 0; | 125 virtual void DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) = 0; |
123 virtual void BeginDrawingFrame(DrawingFrame* frame) = 0; | 126 virtual void BeginDrawingFrame(DrawingFrame* frame) = 0; |
124 virtual void FinishDrawingFrame(DrawingFrame* frame) = 0; | 127 virtual void FinishDrawingFrame(DrawingFrame* frame) = 0; |
125 virtual void FinishDrawingQuadList(); | 128 virtual void FinishDrawingQuadList(); |
126 virtual bool FlippedFramebuffer() const = 0; | 129 virtual bool FlippedFramebuffer() const = 0; |
127 virtual void EnsureScissorTestEnabled() = 0; | 130 virtual void EnsureScissorTestEnabled() = 0; |
128 virtual void EnsureScissorTestDisabled() = 0; | 131 virtual void EnsureScissorTestDisabled() = 0; |
129 virtual void DiscardBackbuffer() {} | 132 virtual void DiscardBackbuffer() {} |
130 virtual void EnsureBackbuffer() {} | 133 virtual void EnsureBackbuffer() {} |
131 | 134 |
(...skipping 16 matching lines...) Expand all Loading... |
148 | 151 |
149 private: | 152 private: |
150 gfx::Vector2d enlarge_pass_texture_amount_; | 153 gfx::Vector2d enlarge_pass_texture_amount_; |
151 | 154 |
152 DISALLOW_COPY_AND_ASSIGN(DirectRenderer); | 155 DISALLOW_COPY_AND_ASSIGN(DirectRenderer); |
153 }; | 156 }; |
154 | 157 |
155 } // namespace cc | 158 } // namespace cc |
156 | 159 |
157 #endif // CC_OUTPUT_DIRECT_RENDERER_H_ | 160 #endif // CC_OUTPUT_DIRECT_RENDERER_H_ |
OLD | NEW |