OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "base/files/file_util.h" | 5 #include "base/files/file_util.h" |
6 #include "cc/output/gl_renderer.h" | 6 #include "cc/output/gl_renderer.h" |
7 #include "cc/output/software_renderer.h" | 7 #include "cc/output/software_renderer.h" |
8 #include "cc/quads/render_pass.h" | 8 #include "cc/quads/render_pass.h" |
9 #include "cc/test/pixel_comparator.h" | 9 #include "cc/test/pixel_comparator.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 scoped_ptr<gfx::DisableNullDrawGLBindings> enable_pixel_output_; | 82 scoped_ptr<gfx::DisableNullDrawGLBindings> enable_pixel_output_; |
83 }; | 83 }; |
84 | 84 |
85 template<typename RendererType> | 85 template<typename RendererType> |
86 class RendererPixelTest : public PixelTest { | 86 class RendererPixelTest : public PixelTest { |
87 public: | 87 public: |
88 RendererType* renderer() { | 88 RendererType* renderer() { |
89 return static_cast<RendererType*>(renderer_.get()); | 89 return static_cast<RendererType*>(renderer_.get()); |
90 } | 90 } |
91 | 91 |
92 bool UseSkiaGPUBackend() const; | |
93 bool ExpandedViewport() const; | |
94 | |
95 protected: | 92 protected: |
96 void SetUp() override; | 93 void SetUp() override; |
97 }; | 94 }; |
98 | 95 |
99 // Wrappers to differentiate renderers where the the output surface and viewport | 96 // Wrappers to differentiate renderers where the the output surface and viewport |
100 // have an externally determined size and offset. | 97 // have an externally determined size and offset. |
101 class GLRendererWithExpandedViewport : public GLRenderer { | 98 class GLRendererWithExpandedViewport : public GLRenderer { |
102 public: | 99 public: |
103 GLRendererWithExpandedViewport(RendererClient* client, | 100 GLRendererWithExpandedViewport(RendererClient* client, |
104 const RendererSettings* settings, | 101 const RendererSettings* settings, |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 texture_mailbox_deleter, | 135 texture_mailbox_deleter, |
139 highp_threshold_min) {} | 136 highp_threshold_min) {} |
140 }; | 137 }; |
141 | 138 |
142 template<> | 139 template<> |
143 inline void RendererPixelTest<GLRenderer>::SetUp() { | 140 inline void RendererPixelTest<GLRenderer>::SetUp() { |
144 SetUpGLRenderer(false, false); | 141 SetUpGLRenderer(false, false); |
145 } | 142 } |
146 | 143 |
147 template<> | 144 template<> |
148 inline bool RendererPixelTest<GLRenderer>::UseSkiaGPUBackend() const { | |
149 return false; | |
150 } | |
151 | |
152 template<> | |
153 inline bool RendererPixelTest<GLRenderer>::ExpandedViewport() const { | |
154 return false; | |
155 } | |
156 | |
157 template<> | |
158 inline void RendererPixelTest<GLRendererWithExpandedViewport>::SetUp() { | 145 inline void RendererPixelTest<GLRendererWithExpandedViewport>::SetUp() { |
159 SetUpGLRenderer(false, false); | 146 SetUpGLRenderer(false, false); |
160 ForceExpandedViewport(gfx::Size(50, 50)); | 147 ForceExpandedViewport(gfx::Size(50, 50)); |
161 ForceViewportOffset(gfx::Vector2d(10, 20)); | 148 ForceViewportOffset(gfx::Vector2d(10, 20)); |
162 } | 149 } |
163 | 150 |
164 template <> | 151 template <> |
165 inline bool | |
166 RendererPixelTest<GLRendererWithExpandedViewport>::UseSkiaGPUBackend() const { | |
167 return false; | |
168 } | |
169 | |
170 template <> | |
171 inline bool | |
172 RendererPixelTest<GLRendererWithExpandedViewport>::ExpandedViewport() const { | |
173 return true; | |
174 } | |
175 | |
176 template <> | |
177 inline void RendererPixelTest<GLRendererWithFlippedSurface>::SetUp() { | 152 inline void RendererPixelTest<GLRendererWithFlippedSurface>::SetUp() { |
178 SetUpGLRenderer(false, true); | 153 SetUpGLRenderer(false, true); |
179 } | 154 } |
180 | 155 |
181 template <> | 156 template <> |
182 inline bool RendererPixelTest<GLRendererWithFlippedSurface>::UseSkiaGPUBackend() | |
183 const { | |
184 return false; | |
185 } | |
186 | |
187 template <> | |
188 inline bool RendererPixelTest<GLRendererWithFlippedSurface>::ExpandedViewport() | |
189 const { | |
190 return true; | |
191 } | |
192 | |
193 template <> | |
194 inline void RendererPixelTest<SoftwareRenderer>::SetUp() { | 157 inline void RendererPixelTest<SoftwareRenderer>::SetUp() { |
195 SetUpSoftwareRenderer(); | 158 SetUpSoftwareRenderer(); |
196 } | 159 } |
197 | 160 |
198 template<> | 161 template<> |
199 inline bool RendererPixelTest<SoftwareRenderer>::UseSkiaGPUBackend() const { | |
200 return false; | |
201 } | |
202 | |
203 template <> | |
204 inline bool RendererPixelTest<SoftwareRenderer>::ExpandedViewport() const { | |
205 return false; | |
206 } | |
207 | |
208 template<> | |
209 inline void RendererPixelTest<SoftwareRendererWithExpandedViewport>::SetUp() { | 162 inline void RendererPixelTest<SoftwareRendererWithExpandedViewport>::SetUp() { |
210 SetUpSoftwareRenderer(); | 163 SetUpSoftwareRenderer(); |
211 ForceExpandedViewport(gfx::Size(50, 50)); | 164 ForceExpandedViewport(gfx::Size(50, 50)); |
212 ForceViewportOffset(gfx::Vector2d(10, 20)); | 165 ForceViewportOffset(gfx::Vector2d(10, 20)); |
213 } | 166 } |
214 | 167 |
215 template <> | |
216 inline bool RendererPixelTest< | |
217 SoftwareRendererWithExpandedViewport>::UseSkiaGPUBackend() const { | |
218 return false; | |
219 } | |
220 | |
221 template <> | |
222 inline bool RendererPixelTest< | |
223 SoftwareRendererWithExpandedViewport>::ExpandedViewport() const { | |
224 return true; | |
225 } | |
226 | |
227 typedef RendererPixelTest<GLRenderer> GLRendererPixelTest; | 168 typedef RendererPixelTest<GLRenderer> GLRendererPixelTest; |
228 typedef RendererPixelTest<SoftwareRenderer> SoftwareRendererPixelTest; | 169 typedef RendererPixelTest<SoftwareRenderer> SoftwareRendererPixelTest; |
229 | 170 |
230 } // namespace cc | 171 } // namespace cc |
231 | 172 |
232 #endif // CC_TEST_PIXEL_TEST_H_ | 173 #endif // CC_TEST_PIXEL_TEST_H_ |
OLD | NEW |