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

Unified Diff: cc/test/layer_tree_pixel_resource_test.h

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/test/layer_test_common.cc ('k') | cc/test/layer_tree_pixel_resource_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/test/layer_tree_pixel_resource_test.h
diff --git a/cc/test/layer_tree_pixel_resource_test.h b/cc/test/layer_tree_pixel_resource_test.h
new file mode 100644
index 0000000000000000000000000000000000000000..da3da25c12ba69e61e67455b816c0371fd1658ec
--- /dev/null
+++ b/cc/test/layer_tree_pixel_resource_test.h
@@ -0,0 +1,88 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CC_TEST_LAYER_TREE_PIXEL_RESOURCE_TEST_H_
+#define CC_TEST_LAYER_TREE_PIXEL_RESOURCE_TEST_H_
+
+#include "base/memory/ref_counted.h"
+#include "cc/test/layer_tree_pixel_test.h"
+
+namespace cc {
+
+class LayerTreeHostImpl;
+class RasterWorkerPool;
+class ResourcePool;
+
+// Enumerate the various combinations of renderer, resource pool, staging
+// texture type, and drawing texture types. Not all of the combinations
+// are possible (or worth testing independently), so this is the minimal
+// list to hit all codepaths.
+enum PixelResourceTestCase {
+ SOFTWARE,
+ GL_GPU_RASTER_2D_DRAW,
+ GL_ONE_COPY_2D_STAGING_2D_DRAW,
+ GL_ONE_COPY_RECT_STAGING_2D_DRAW,
+ GL_ONE_COPY_EXTERNAL_STAGING_2D_DRAW,
+ GL_ZERO_COPY_2D_DRAW,
+ GL_ZERO_COPY_RECT_DRAW,
+ GL_ZERO_COPY_EXTERNAL_DRAW,
+ GL_ASYNC_UPLOAD_2D_DRAW,
+};
+
+class LayerTreeHostPixelResourceTest : public LayerTreePixelTest {
+ public:
+ explicit LayerTreeHostPixelResourceTest(PixelResourceTestCase test_case);
+
+ void CreateResourceAndRasterWorkerPool(
+ LayerTreeHostImpl* host_impl,
+ scoped_ptr<RasterWorkerPool>* raster_worker_pool,
+ scoped_ptr<ResourcePool>* resource_pool,
+ scoped_ptr<ResourcePool>* staging_resource_pool) override;
+
+ void RunPixelResourceTest(scoped_refptr<Layer> content_root,
+ base::FilePath file_name);
+
+ enum RasterWorkerPoolOption {
+ BITMAP_RASTER_WORKER_POOL,
+ GPU_RASTER_WORKER_POOL,
+ ZERO_COPY_RASTER_WORKER_POOL,
+ ONE_COPY_RASTER_WORKER_POOL,
+ PIXEL_BUFFER_RASTER_WORKER_POOL,
+ };
+
+ protected:
+ unsigned staging_texture_target_;
+ unsigned draw_texture_target_;
+ RasterWorkerPoolOption resource_pool_option_;
+
+ private:
+ void InitializeFromTestCase(PixelResourceTestCase test_case);
+
+ PixelResourceTestCase test_case_;
+};
+
+#define INSTANTIATE_PIXEL_RESOURCE_TEST_CASE_P(framework_name) \
+ INSTANTIATE_TEST_CASE_P( \
+ PixelResourceTest, \
+ framework_name, \
+ ::testing::Values(SOFTWARE, \
+ GL_GPU_RASTER_2D_DRAW, \
+ GL_ONE_COPY_2D_STAGING_2D_DRAW, \
+ GL_ONE_COPY_RECT_STAGING_2D_DRAW, \
+ GL_ONE_COPY_EXTERNAL_STAGING_2D_DRAW, \
+ GL_ZERO_COPY_2D_DRAW, \
+ GL_ZERO_COPY_RECT_DRAW, \
+ GL_ZERO_COPY_EXTERNAL_DRAW, \
+ GL_ASYNC_UPLOAD_2D_DRAW))
+
+class ParameterizedPixelResourceTest
+ : public LayerTreeHostPixelResourceTest,
+ public ::testing::WithParamInterface<PixelResourceTestCase> {
+ public:
+ ParameterizedPixelResourceTest();
+};
+
+} // namespace cc
+
+#endif // CC_TEST_LAYER_TREE_PIXEL_RESOURCE_TEST_H_
« no previous file with comments | « cc/test/layer_test_common.cc ('k') | cc/test/layer_tree_pixel_resource_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698