diff options
author | ericrk <ericrk@chromium.org> | 2015-10-19 20:03:07 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-20 03:04:15 +0000 |
commit | 1d17f75189e66a12ef287af75e0d6adb5449db3d (patch) | |
tree | 9d45e55f9e0115ec29b34cfb7b740b5877f1d102 /cc/trees/layer_tree_host_pixeltest_tiles.cc | |
parent | 2582ee9084be2aafdfde93fa63d986f4efc99c97 (diff) | |
download | chromium_src-1d17f75189e66a12ef287af75e0d6adb5449db3d.zip chromium_src-1d17f75189e66a12ef287af75e0d6adb5449db3d.tar.gz chromium_src-1d17f75189e66a12ef287af75e0d6adb5449db3d.tar.bz2 |
Add a flag to disable partial raster in renderer
Partial raster was intended to be disabled in renderers, but it was
disabled indirectly through a GPUMemoryBuffer property, which didn't
apply to all rasterization modes / tile workers.
This change adds a flag "--enable-partial-raster" which will cause
partial raster to be enabled (current state) if passed. The default
behavior is now that we block partial raster at a higher level, but
not providing invalidated IDs to tiles.
BUG=537722
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1381163002
Cr-Commit-Position: refs/heads/master@{#354966}
Diffstat (limited to 'cc/trees/layer_tree_host_pixeltest_tiles.cc')
-rw-r--r-- | cc/trees/layer_tree_host_pixeltest_tiles.cc | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/cc/trees/layer_tree_host_pixeltest_tiles.cc b/cc/trees/layer_tree_host_pixeltest_tiles.cc index 0d036fb..c3dd34e 100644 --- a/cc/trees/layer_tree_host_pixeltest_tiles.cc +++ b/cc/trees/layer_tree_host_pixeltest_tiles.cc @@ -21,8 +21,10 @@ namespace { enum RasterMode { PARTIAL_ONE_COPY, FULL_ONE_COPY, - GPU, - BITMAP, + PARTIAL_GPU, + FULL_GPU, + PARTIAL_BITMAP, + FULL_BITMAP, }; class LayerTreeHostTilesPixelTest : public LayerTreePixelTest { @@ -32,18 +34,27 @@ class LayerTreeHostTilesPixelTest : public LayerTreePixelTest { switch (raster_mode_) { case PARTIAL_ONE_COPY: settings->use_zero_copy = false; - settings->use_persistent_map_for_gpu_memory_buffers = true; + settings->use_partial_raster = true; break; case FULL_ONE_COPY: settings->use_zero_copy = false; - settings->use_persistent_map_for_gpu_memory_buffers = false; + settings->use_partial_raster = false; break; - case BITMAP: - // This is done via context creation. No settings to change here! + case PARTIAL_BITMAP: + settings->use_partial_raster = true; break; - case GPU: + case FULL_BITMAP: + settings->use_partial_raster = false; + break; + case PARTIAL_GPU: + settings->gpu_rasterization_enabled = true; + settings->gpu_rasterization_forced = true; + settings->use_partial_raster = true; + break; + case FULL_GPU: settings->gpu_rasterization_enabled = true; settings->gpu_rasterization_forced = true; + settings->use_partial_raster = false; break; } } @@ -69,10 +80,12 @@ class LayerTreeHostTilesPixelTest : public LayerTreePixelTest { switch (mode) { case PARTIAL_ONE_COPY: case FULL_ONE_COPY: - case GPU: + case PARTIAL_GPU: + case FULL_GPU: test_type = PIXEL_TEST_GL; break; - case BITMAP: + case PARTIAL_BITMAP: + case FULL_BITMAP: test_type = PIXEL_TEST_SOFTWARE; } @@ -201,17 +214,31 @@ TEST_F(LayerTreeHostTilesTestPartialInvalidation, TEST_F(LayerTreeHostTilesTestPartialInvalidation, PartialRaster_SingleThread_Software) { RunRasterPixelTest( - false, BITMAP, picture_layer_, + false, PARTIAL_BITMAP, picture_layer_, base::FilePath(FILE_PATH_LITERAL("blue_yellow_partial_flipped.png"))); } TEST_F(LayerTreeHostTilesTestPartialInvalidation, + FulllRaster_SingleThread_Software) { + RunRasterPixelTest( + false, FULL_BITMAP, picture_layer_, + base::FilePath(FILE_PATH_LITERAL("blue_yellow_flipped.png"))); +} + +TEST_F(LayerTreeHostTilesTestPartialInvalidation, PartialRaster_SingleThread_GpuRaster) { RunRasterPixelTest( - false, GPU, picture_layer_, + false, PARTIAL_GPU, picture_layer_, base::FilePath(FILE_PATH_LITERAL("blue_yellow_partial_flipped.png"))); } +TEST_F(LayerTreeHostTilesTestPartialInvalidation, + FullRaster_SingleThread_GpuRaster) { + RunRasterPixelTest( + false, FULL_GPU, picture_layer_, + base::FilePath(FILE_PATH_LITERAL("blue_yellow_flipped.png"))); +} + } // namespace } // namespace cc |