Commit 0d162e1b authored by danakj's avatar danakj Committed by Commit Bot

Move cc::SoftwareRenderer to viz:: display service.

This is part of the display compositor so belongs in viz not with the
cc layer compositor.

R=staraz@chromium.org

Bug: 722935
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie8c19de1350375de05172c46b50c816f5d095de6
Reviewed-on: https://chromium-review.googlesource.com/668956
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: default avatarXingyu Zhang <staraz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502882}
parent be29ef38
...@@ -177,8 +177,6 @@ cc_component("cc") { ...@@ -177,8 +177,6 @@ cc_component("cc") {
"output/overlay_strategy_underlay_cast.h", "output/overlay_strategy_underlay_cast.h",
"output/software_output_device.cc", "output/software_output_device.cc",
"output/software_output_device.h", "output/software_output_device.h",
"output/software_renderer.cc",
"output/software_renderer.h",
"output/swap_promise.h", "output/swap_promise.h",
"raster/bitmap_raster_buffer_provider.cc", "raster/bitmap_raster_buffer_provider.cc",
"raster/bitmap_raster_buffer_provider.h", "raster/bitmap_raster_buffer_provider.h",
...@@ -646,7 +644,6 @@ cc_test("cc_unittests") { ...@@ -646,7 +644,6 @@ cc_test("cc_unittests") {
"output/layer_tree_frame_sink_unittest.cc", "output/layer_tree_frame_sink_unittest.cc",
"output/overlay_unittest.cc", "output/overlay_unittest.cc",
"output/renderer_pixeltest.cc", "output/renderer_pixeltest.cc",
"output/software_renderer_unittest.cc",
"paint/discardable_image_map_unittest.cc", "paint/discardable_image_map_unittest.cc",
"paint/display_item_list_unittest.cc", "paint/display_item_list_unittest.cc",
"paint/paint_image_unittest.cc", "paint/paint_image_unittest.cc",
......
...@@ -652,7 +652,7 @@ void CreateTestY16TextureDrawQuad_TwoColor( ...@@ -652,7 +652,7 @@ void CreateTestY16TextureDrawQuad_TwoColor(
} }
typedef ::testing::Types<viz::GLRenderer, typedef ::testing::Types<viz::GLRenderer,
SoftwareRenderer, viz::SoftwareRenderer,
GLRendererWithExpandedViewport, GLRendererWithExpandedViewport,
SoftwareRendererWithExpandedViewport> SoftwareRendererWithExpandedViewport>
RendererTypes; RendererTypes;
...@@ -661,7 +661,8 @@ TYPED_TEST_CASE(RendererPixelTest, RendererTypes); ...@@ -661,7 +661,8 @@ TYPED_TEST_CASE(RendererPixelTest, RendererTypes);
template <typename RendererType> template <typename RendererType>
class SoftwareRendererPixelTest : public RendererPixelTest<RendererType> {}; class SoftwareRendererPixelTest : public RendererPixelTest<RendererType> {};
typedef ::testing::Types<SoftwareRenderer, SoftwareRendererWithExpandedViewport> typedef ::testing::Types<viz::SoftwareRenderer,
SoftwareRendererWithExpandedViewport>
SoftwareRendererTypes; SoftwareRendererTypes;
TYPED_TEST_CASE(SoftwareRendererPixelTest, SoftwareRendererTypes); TYPED_TEST_CASE(SoftwareRendererPixelTest, SoftwareRendererTypes);
...@@ -679,8 +680,8 @@ class FuzzyForSoftwareOnlyPixelComparator : public PixelComparator { ...@@ -679,8 +680,8 @@ class FuzzyForSoftwareOnlyPixelComparator : public PixelComparator {
ExactPixelComparator exact_; ExactPixelComparator exact_;
}; };
template<> template <>
bool FuzzyForSoftwareOnlyPixelComparator<SoftwareRenderer>::Compare( bool FuzzyForSoftwareOnlyPixelComparator<viz::SoftwareRenderer>::Compare(
const SkBitmap& actual_bmp, const SkBitmap& actual_bmp,
const SkBitmap& expected_bmp) const { const SkBitmap& expected_bmp) const {
return fuzzy_.Compare(actual_bmp, expected_bmp); return fuzzy_.Compare(actual_bmp, expected_bmp);
...@@ -975,7 +976,8 @@ template <typename TypeParam> ...@@ -975,7 +976,8 @@ template <typename TypeParam>
class IntersectingQuadSoftwareTest class IntersectingQuadSoftwareTest
: public IntersectingQuadPixelTest<TypeParam> {}; : public IntersectingQuadPixelTest<TypeParam> {};
typedef ::testing::Types<SoftwareRenderer, SoftwareRendererWithExpandedViewport> typedef ::testing::Types<viz::SoftwareRenderer,
SoftwareRendererWithExpandedViewport>
SoftwareRendererTypes; SoftwareRendererTypes;
typedef ::testing::Types<viz::GLRenderer, GLRendererWithExpandedViewport> typedef ::testing::Types<viz::GLRenderer, GLRendererWithExpandedViewport>
GLRendererTypes; GLRendererTypes;
...@@ -2267,7 +2269,7 @@ class RendererPixelTestWithBackgroundFilter ...@@ -2267,7 +2269,7 @@ class RendererPixelTestWithBackgroundFilter
gfx::Rect filter_pass_layer_rect_; gfx::Rect filter_pass_layer_rect_;
}; };
typedef ::testing::Types<viz::GLRenderer, SoftwareRenderer> typedef ::testing::Types<viz::GLRenderer, viz::SoftwareRenderer>
BackgroundFilterRendererTypes; BackgroundFilterRendererTypes;
TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter,
BackgroundFilterRendererTypes); BackgroundFilterRendererTypes);
...@@ -2769,8 +2771,8 @@ template<typename TypeParam> bool IsSoftwareRenderer() { ...@@ -2769,8 +2771,8 @@ template<typename TypeParam> bool IsSoftwareRenderer() {
return false; return false;
} }
template<> template <>
bool IsSoftwareRenderer<SoftwareRenderer>() { bool IsSoftwareRenderer<viz::SoftwareRenderer>() {
return true; return true;
} }
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include "cc/output/compositor_frame_metadata.h" #include "cc/output/compositor_frame_metadata.h"
#include "cc/output/output_surface_client.h" #include "cc/output/output_surface_client.h"
#include "cc/output/software_output_device.h" #include "cc/output/software_output_device.h"
#include "cc/output/software_renderer.h"
#include "cc/raster/raster_buffer_provider.h" #include "cc/raster/raster_buffer_provider.h"
#include "cc/resources/resource_provider.h" #include "cc/resources/resource_provider.h"
#include "cc/test/fake_output_surface_client.h" #include "cc/test/fake_output_surface_client.h"
...@@ -26,6 +25,7 @@ ...@@ -26,6 +25,7 @@
#include "components/viz/common/quads/copy_output_request.h" #include "components/viz/common/quads/copy_output_request.h"
#include "components/viz/common/quads/copy_output_result.h" #include "components/viz/common/quads/copy_output_result.h"
#include "components/viz/service/display/gl_renderer.h" #include "components/viz/service/display/gl_renderer.h"
#include "components/viz/service/display/software_renderer.h"
#include "components/viz/service/display/texture_mailbox_deleter.h" #include "components/viz/service/display/texture_mailbox_deleter.h"
#include "components/viz/test/paths.h" #include "components/viz/test/paths.h"
#include "components/viz/test/test_gpu_memory_buffer_manager.h" #include "components/viz/test/test_gpu_memory_buffer_manager.h"
...@@ -205,7 +205,7 @@ void PixelTest::SetUpSoftwareRenderer() { ...@@ -205,7 +205,7 @@ void PixelTest::SetUpSoftwareRenderer() {
main_thread_task_runner_.get(), delegated_sync_points_required, main_thread_task_runner_.get(), delegated_sync_points_required,
settings_.enable_color_correct_rasterization, settings_.enable_color_correct_rasterization,
settings_.resource_settings); settings_.resource_settings);
auto renderer = std::make_unique<SoftwareRenderer>( auto renderer = std::make_unique<viz::SoftwareRenderer>(
&renderer_settings_, output_surface_.get(), resource_provider_.get()); &renderer_settings_, output_surface_.get(), resource_provider_.get());
software_renderer_ = renderer.get(); software_renderer_ = renderer.get();
renderer_ = std::move(renderer); renderer_ = std::move(renderer);
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "cc/output/output_surface.h" #include "cc/output/output_surface.h"
#include "cc/output/software_renderer.h"
#include "cc/test/pixel_comparator.h" #include "cc/test/pixel_comparator.h"
#include "cc/trees/layer_tree_settings.h" #include "cc/trees/layer_tree_settings.h"
#include "components/viz/common/quads/render_pass.h" #include "components/viz/common/quads/render_pass.h"
#include "components/viz/service/display/gl_renderer.h" #include "components/viz/service/display/gl_renderer.h"
#include "components/viz/service/display/software_renderer.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/size.h"
#include "ui/gl/gl_implementation.h" #include "ui/gl/gl_implementation.h"
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
namespace viz { namespace viz {
class CopyOutputResult; class CopyOutputResult;
class TestGpuMemoryBufferManager; class TestGpuMemoryBufferManager;
class TextureMailboxDeleter;
} }
namespace cc { namespace cc {
...@@ -26,7 +27,6 @@ class DisplayResourceProvider; ...@@ -26,7 +27,6 @@ class DisplayResourceProvider;
class DirectRenderer; class DirectRenderer;
class FakeOutputSurfaceClient; class FakeOutputSurfaceClient;
class OutputSurface; class OutputSurface;
class SoftwareRenderer;
class TestSharedBitmapManager; class TestSharedBitmapManager;
class PixelTest : public testing::Test { class PixelTest : public testing::Test {
...@@ -69,7 +69,7 @@ class PixelTest : public testing::Test { ...@@ -69,7 +69,7 @@ class PixelTest : public testing::Test {
std::unique_ptr<DisplayResourceProvider> resource_provider_; std::unique_ptr<DisplayResourceProvider> resource_provider_;
std::unique_ptr<viz::TextureMailboxDeleter> texture_mailbox_deleter_; std::unique_ptr<viz::TextureMailboxDeleter> texture_mailbox_deleter_;
std::unique_ptr<DirectRenderer> renderer_; std::unique_ptr<DirectRenderer> renderer_;
SoftwareRenderer* software_renderer_ = nullptr; viz::SoftwareRenderer* software_renderer_ = nullptr;
std::unique_ptr<SkBitmap> result_bitmap_; std::unique_ptr<SkBitmap> result_bitmap_;
void SetUpGLRenderer(bool flipped_output_surface); void SetUpGLRenderer(bool flipped_output_surface);
...@@ -113,7 +113,7 @@ class GLRendererWithExpandedViewport : public viz::GLRenderer { ...@@ -113,7 +113,7 @@ class GLRendererWithExpandedViewport : public viz::GLRenderer {
texture_mailbox_deleter) {} texture_mailbox_deleter) {}
}; };
class SoftwareRendererWithExpandedViewport : public SoftwareRenderer { class SoftwareRendererWithExpandedViewport : public viz::SoftwareRenderer {
public: public:
SoftwareRendererWithExpandedViewport( SoftwareRendererWithExpandedViewport(
const viz::RendererSettings* settings, const viz::RendererSettings* settings,
...@@ -151,7 +151,7 @@ inline void RendererPixelTest<GLRendererWithFlippedSurface>::SetUp() { ...@@ -151,7 +151,7 @@ inline void RendererPixelTest<GLRendererWithFlippedSurface>::SetUp() {
} }
template <> template <>
inline void RendererPixelTest<SoftwareRenderer>::SetUp() { inline void RendererPixelTest<viz::SoftwareRenderer>::SetUp() {
SetUpSoftwareRenderer(); SetUpSoftwareRenderer();
} }
...@@ -161,7 +161,7 @@ inline void RendererPixelTest<SoftwareRendererWithExpandedViewport>::SetUp() { ...@@ -161,7 +161,7 @@ inline void RendererPixelTest<SoftwareRendererWithExpandedViewport>::SetUp() {
} }
typedef RendererPixelTest<viz::GLRenderer> GLRendererPixelTest; typedef RendererPixelTest<viz::GLRenderer> GLRendererPixelTest;
typedef RendererPixelTest<SoftwareRenderer> SoftwareRendererPixelTest; typedef RendererPixelTest<viz::SoftwareRenderer> SoftwareRendererPixelTest;
} // namespace cc } // namespace cc
......
...@@ -34,6 +34,8 @@ viz_component("service") { ...@@ -34,6 +34,8 @@ viz_component("service") {
"display/shader.h", "display/shader.h",
"display/skia_renderer.cc", "display/skia_renderer.cc",
"display/skia_renderer.h", "display/skia_renderer.h",
"display/software_renderer.cc",
"display/software_renderer.h",
"display/static_geometry_binding.cc", "display/static_geometry_binding.cc",
"display/static_geometry_binding.h", "display/static_geometry_binding.h",
"display/surface_aggregator.cc", "display/surface_aggregator.cc",
...@@ -186,6 +188,7 @@ viz_source_set("unit_tests") { ...@@ -186,6 +188,7 @@ viz_source_set("unit_tests") {
"display/gl_renderer_unittest.cc", "display/gl_renderer_unittest.cc",
"display/layer_quad_unittest.cc", "display/layer_quad_unittest.cc",
"display/shader_unittest.cc", "display/shader_unittest.cc",
"display/software_renderer_unittest.cc",
"display/surface_aggregator_pixeltest.cc", "display/surface_aggregator_pixeltest.cc",
"display/surface_aggregator_unittest.cc", "display/surface_aggregator_unittest.cc",
"display/texture_mailbox_deleter_unittest.cc", "display/texture_mailbox_deleter_unittest.cc",
......
...@@ -14,13 +14,13 @@ ...@@ -14,13 +14,13 @@
#include "cc/output/compositor_frame.h" #include "cc/output/compositor_frame.h"
#include "cc/output/direct_renderer.h" #include "cc/output/direct_renderer.h"
#include "cc/output/output_surface.h" #include "cc/output/output_surface.h"
#include "cc/output/software_renderer.h"
#include "components/viz/common/display/renderer_settings.h" #include "components/viz/common/display/renderer_settings.h"
#include "components/viz/common/frame_sinks/begin_frame_source.h" #include "components/viz/common/frame_sinks/begin_frame_source.h"
#include "components/viz/service/display/display_client.h" #include "components/viz/service/display/display_client.h"
#include "components/viz/service/display/display_scheduler.h" #include "components/viz/service/display/display_scheduler.h"
#include "components/viz/service/display/gl_renderer.h" #include "components/viz/service/display/gl_renderer.h"
#include "components/viz/service/display/skia_renderer.h" #include "components/viz/service/display/skia_renderer.h"
#include "components/viz/service/display/software_renderer.h"
#include "components/viz/service/display/surface_aggregator.h" #include "components/viz/service/display/surface_aggregator.h"
#include "components/viz/service/display/texture_mailbox_deleter.h" #include "components/viz/service/display/texture_mailbox_deleter.h"
#include "components/viz/service/surfaces/surface.h" #include "components/viz/service/surfaces/surface.h"
...@@ -206,7 +206,7 @@ void Display::InitializeRenderer() { ...@@ -206,7 +206,7 @@ void Display::InitializeRenderer() {
NOTREACHED(); NOTREACHED();
#endif #endif
} else { } else {
auto renderer = base::MakeUnique<cc::SoftwareRenderer>( auto renderer = base::MakeUnique<SoftwareRenderer>(
&settings_, output_surface_.get(), resource_provider_.get()); &settings_, output_surface_.get(), resource_provider_.get());
software_renderer_ = renderer.get(); software_renderer_ = renderer.get();
renderer_ = std::move(renderer); renderer_ = std::move(renderer);
......
...@@ -29,7 +29,6 @@ class DirectRenderer; ...@@ -29,7 +29,6 @@ class DirectRenderer;
class DisplayResourceProvider; class DisplayResourceProvider;
class OutputSurface; class OutputSurface;
class RendererSettings; class RendererSettings;
class SoftwareRenderer;
} // namespace cc } // namespace cc
namespace gpu { namespace gpu {
...@@ -44,6 +43,7 @@ namespace viz { ...@@ -44,6 +43,7 @@ namespace viz {
class DisplayClient; class DisplayClient;
class SharedBitmapManager; class SharedBitmapManager;
class SoftwareRenderer;
class TextureMailboxDeleter; class TextureMailboxDeleter;
class VIZ_SERVICE_EXPORT DisplayObserver { class VIZ_SERVICE_EXPORT DisplayObserver {
...@@ -137,7 +137,7 @@ class VIZ_SERVICE_EXPORT Display : public DisplaySchedulerClient, ...@@ -137,7 +137,7 @@ class VIZ_SERVICE_EXPORT Display : public DisplaySchedulerClient,
std::unique_ptr<SurfaceAggregator> aggregator_; std::unique_ptr<SurfaceAggregator> aggregator_;
std::unique_ptr<TextureMailboxDeleter> texture_mailbox_deleter_; std::unique_ptr<TextureMailboxDeleter> texture_mailbox_deleter_;
std::unique_ptr<cc::DirectRenderer> renderer_; std::unique_ptr<cc::DirectRenderer> renderer_;
cc::SoftwareRenderer* software_renderer_ = nullptr; SoftwareRenderer* software_renderer_ = nullptr;
std::vector<ui::LatencyInfo> stored_latency_info_; std::vector<ui::LatencyInfo> stored_latency_info_;
private: private:
......
...@@ -2,14 +2,20 @@ ...@@ -2,14 +2,20 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CC_OUTPUT_SOFTWARE_RENDERER_H_ #ifndef COMPONENTS_VIZ_SERVICE_DISPLAY_SOFTWARE_RENDERER_H_
#define CC_OUTPUT_SOFTWARE_RENDERER_H_ #define COMPONENTS_VIZ_SERVICE_DISPLAY_SOFTWARE_RENDERER_H_
#include "base/macros.h" #include "base/macros.h"
#include "cc/cc_export.h"
#include "cc/output/direct_renderer.h" #include "cc/output/direct_renderer.h"
#include "components/viz/service/viz_service_export.h"
#include "ui/latency/latency_info.h" #include "ui/latency/latency_info.h"
namespace cc {
class OutputSurface;
class DisplayResourceProvider;
class SoftwareOutputDevice;
} // namespace cc
namespace viz { namespace viz {
class DebugBorderDrawQuad; class DebugBorderDrawQuad;
class PictureDrawQuad; class PictureDrawQuad;
...@@ -17,18 +23,12 @@ class RenderPassDrawQuad; ...@@ -17,18 +23,12 @@ class RenderPassDrawQuad;
class SolidColorDrawQuad; class SolidColorDrawQuad;
class TextureDrawQuad; class TextureDrawQuad;
class TileDrawQuad; class TileDrawQuad;
} // namespace viz
namespace cc { class VIZ_SERVICE_EXPORT SoftwareRenderer : public cc::DirectRenderer {
class OutputSurface;
class DisplayResourceProvider;
class SoftwareOutputDevice;
class CC_EXPORT SoftwareRenderer : public DirectRenderer {
public: public:
SoftwareRenderer(const viz::RendererSettings* settings, SoftwareRenderer(const RendererSettings* settings,
OutputSurface* output_surface, cc::OutputSurface* output_surface,
DisplayResourceProvider* resource_provider); cc::DisplayResourceProvider* resource_provider);
~SoftwareRenderer() override; ~SoftwareRenderer() override;
...@@ -40,21 +40,19 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { ...@@ -40,21 +40,19 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer {
protected: protected:
bool CanPartialSwap() override; bool CanPartialSwap() override;
viz::ResourceFormat BackbufferFormat() const override; ResourceFormat BackbufferFormat() const override;
void BindFramebufferToOutputSurface() override; void BindFramebufferToOutputSurface() override;
bool BindFramebufferToTexture(const ScopedResource* texture) override; bool BindFramebufferToTexture(const cc::ScopedResource* texture) override;
void SetScissorTestRect(const gfx::Rect& scissor_rect) override; void SetScissorTestRect(const gfx::Rect& scissor_rect) override;
void PrepareSurfaceForPass(SurfaceInitializationMode initialization_mode, void PrepareSurfaceForPass(SurfaceInitializationMode initialization_mode,
const gfx::Rect& render_pass_scissor) override; const gfx::Rect& render_pass_scissor) override;
void DoDrawQuad(const viz::DrawQuad* quad, void DoDrawQuad(const DrawQuad* quad, const gfx::QuadF* draw_region) override;
const gfx::QuadF* draw_region) override;
void BeginDrawingFrame() override; void BeginDrawingFrame() override;
void FinishDrawingFrame() override; void FinishDrawingFrame() override;
bool FlippedFramebuffer() const override; bool FlippedFramebuffer() const override;
void EnsureScissorTestEnabled() override; void EnsureScissorTestEnabled() override;
void EnsureScissorTestDisabled() override; void EnsureScissorTestDisabled() override;
void CopyDrawnRenderPass( void CopyDrawnRenderPass(std::unique_ptr<CopyOutputRequest> request) override;
std::unique_ptr<viz::CopyOutputRequest> request) override;
void SetEnableDCLayers(bool enable) override; void SetEnableDCLayers(bool enable) override;
void DidChangeVisibility() override; void DidChangeVisibility() override;
void GenerateMipmap() override; void GenerateMipmap() override;
...@@ -63,30 +61,30 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { ...@@ -63,30 +61,30 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer {
void ClearCanvas(SkColor color); void ClearCanvas(SkColor color);
void ClearFramebuffer(); void ClearFramebuffer();
void SetClipRect(const gfx::Rect& rect); void SetClipRect(const gfx::Rect& rect);
bool IsSoftwareResource(viz::ResourceId resource_id) const; bool IsSoftwareResource(ResourceId resource_id) const;
void DrawDebugBorderQuad(const viz::DebugBorderDrawQuad* quad); void DrawDebugBorderQuad(const DebugBorderDrawQuad* quad);
void DrawPictureQuad(const viz::PictureDrawQuad* quad); void DrawPictureQuad(const PictureDrawQuad* quad);
void DrawRenderPassQuad(const viz::RenderPassDrawQuad* quad); void DrawRenderPassQuad(const RenderPassDrawQuad* quad);
void DrawSolidColorQuad(const viz::SolidColorDrawQuad* quad); void DrawSolidColorQuad(const SolidColorDrawQuad* quad);
void DrawTextureQuad(const viz::TextureDrawQuad* quad); void DrawTextureQuad(const TextureDrawQuad* quad);
void DrawTileQuad(const viz::TileDrawQuad* quad); void DrawTileQuad(const TileDrawQuad* quad);
void DrawUnsupportedQuad(const viz::DrawQuad* quad); void DrawUnsupportedQuad(const DrawQuad* quad);
bool ShouldApplyBackgroundFilters( bool ShouldApplyBackgroundFilters(
const viz::RenderPassDrawQuad* quad, const RenderPassDrawQuad* quad,
const FilterOperations* background_filters) const; const cc::FilterOperations* background_filters) const;
sk_sp<SkImage> ApplyImageFilter(SkImageFilter* filter, sk_sp<SkImage> ApplyImageFilter(SkImageFilter* filter,
const viz::RenderPassDrawQuad* quad, const RenderPassDrawQuad* quad,
const SkBitmap& to_filter, const SkBitmap& to_filter,
SkIRect* auto_bounds) const; SkIRect* auto_bounds) const;
gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( gfx::Rect GetBackdropBoundingBoxForRenderPassQuad(
const viz::RenderPassDrawQuad* quad, const RenderPassDrawQuad* quad,
const gfx::Transform& contents_device_transform, const gfx::Transform& contents_device_transform,
const FilterOperations* background_filters, const cc::FilterOperations* background_filters,
gfx::Rect* unclipped_rect) const; gfx::Rect* unclipped_rect) const;
SkBitmap GetBackdropBitmap(const gfx::Rect& bounding_rect) const; SkBitmap GetBackdropBitmap(const gfx::Rect& bounding_rect) const;
sk_sp<SkShader> GetBackgroundFilterShader( sk_sp<SkShader> GetBackgroundFilterShader(
const viz::RenderPassDrawQuad* quad, const RenderPassDrawQuad* quad,
SkShader::TileMode content_tile_mode) const; SkShader::TileMode content_tile_mode) const;
bool disable_picture_quad_image_filtering_ = false; bool disable_picture_quad_image_filtering_ = false;
...@@ -94,17 +92,17 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer { ...@@ -94,17 +92,17 @@ class CC_EXPORT SoftwareRenderer : public DirectRenderer {
bool is_scissor_enabled_ = false; bool is_scissor_enabled_ = false;
gfx::Rect scissor_rect_; gfx::Rect scissor_rect_;
SoftwareOutputDevice* output_device_; cc::SoftwareOutputDevice* output_device_;
SkCanvas* root_canvas_ = nullptr; SkCanvas* root_canvas_ = nullptr;
SkCanvas* current_canvas_ = nullptr; SkCanvas* current_canvas_ = nullptr;
SkPaint current_paint_; SkPaint current_paint_;
std::unique_ptr<ResourceProvider::ScopedWriteLockSoftware> std::unique_ptr<cc::ResourceProvider::ScopedWriteLockSoftware>
current_framebuffer_lock_; current_framebuffer_lock_;
std::unique_ptr<SkCanvas> current_framebuffer_canvas_; std::unique_ptr<SkCanvas> current_framebuffer_canvas_;
DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer); DISALLOW_COPY_AND_ASSIGN(SoftwareRenderer);
}; };
} // namespace cc } // namespace viz
#endif // CC_OUTPUT_SOFTWARE_RENDERER_H_ #endif // COMPONENTS_VIZ_SERVICE_DISPLAY_SOFTWARE_RENDERER_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment