Skip to content

Commit

Permalink
Move LayerTreeResourceProvider to viz/client/ as ClientResourceProvider
Browse files Browse the repository at this point in the history
As the LayerTreeResourceProvider now has no cc-specific things to it,
we can move it to viz/client/ where it is clear to be used by any and
all viz clients. It's renamed to not refer to LayerTree anymore also.

R=kylechar@chromium.org, pdr@chromium.org
TBR=thakis

Bug: 722935
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I07546622ad5482bf050403f8d6fe30769a05f4f4
Reviewed-on: https://chromium-review.googlesource.com/1073611
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: kylechar <kylechar@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562445}
  • Loading branch information
danakj authored and Commit Bot committed May 29, 2018
1 parent 52047e3 commit 57baa77
Show file tree
Hide file tree
Showing 63 changed files with 479 additions and 463 deletions.
4 changes: 1 addition & 3 deletions cc/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,6 @@ cc_component("cc") {
"raster/zero_copy_raster_buffer_provider.h",
"resources/cross_thread_shared_bitmap.cc",
"resources/cross_thread_shared_bitmap.h",
"resources/layer_tree_resource_provider.cc",
"resources/layer_tree_resource_provider.h",
"resources/memory_history.cc",
"resources/memory_history.h",
"resources/resource_pool.cc",
Expand Down Expand Up @@ -640,7 +638,6 @@ cc_test("cc_unittests") {
"raster/synchronous_task_graph_runner_unittest.cc",
"raster/task_graph_work_queue_unittest.cc",
"raster/texture_compressor_etc1_unittest.cc",
"resources/layer_tree_resource_provider_unittest.cc",
"resources/resource_pool_unittest.cc",
"resources/video_resource_updater_unittest.cc",
"scheduler/compositor_timing_history_unittest.cc",
Expand Down Expand Up @@ -787,6 +784,7 @@ cc_test("cc_perftests") {
"//base",
"//base/test:test_support",
"//cc/paint",
"//components/viz/client",
"//components/viz/common",
"//components/viz/test:test_support",
"//gpu",
Expand Down
10 changes: 5 additions & 5 deletions cc/layers/heads_up_display_layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ class HudSoftwareBacking : public ResourcePool::SoftwareBacking {

bool HeadsUpDisplayLayerImpl::WillDraw(
DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
viz::ClientResourceProvider* resource_provider) {
if (draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE)
return false;

Expand Down Expand Up @@ -173,7 +173,7 @@ void HeadsUpDisplayLayerImpl::AppendQuads(viz::RenderPass* render_pass,
void HeadsUpDisplayLayerImpl::UpdateHudTexture(
DrawMode draw_mode,
LayerTreeFrameSink* layer_tree_frame_sink,
LayerTreeResourceProvider* resource_provider,
viz::ClientResourceProvider* resource_provider,
bool gpu_raster,
const viz::RenderPassList& list) {
if (draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE)
Expand Down Expand Up @@ -276,7 +276,7 @@ void HeadsUpDisplayLayerImpl::UpdateHudTexture(

{
ScopedGpuRaster gpu_raster(context_provider);
LayerTreeResourceProvider::ScopedSkSurface scoped_surface(
viz::ClientResourceProvider::ScopedSkSurface scoped_surface(
context_provider->GrContext(), backing->texture_id,
backing->texture_target, pool_resource.size(), pool_resource.format(),
false /* can_use_lcd_text */, 0 /* msaa_sample_count */);
Expand All @@ -289,7 +289,7 @@ void HeadsUpDisplayLayerImpl::UpdateHudTexture(
}

backing->mailbox_sync_token =
LayerTreeResourceProvider::GenerateSyncTokenHelper(gl);
viz::ClientResourceProvider::GenerateSyncTokenHelper(gl);
} else if (draw_mode == DRAW_MODE_HARDWARE) {
// If not using |gpu_raster| but using gpu compositing, we DrawHudContents()
// into a software bitmap and upload it to a texture for compositing.
Expand Down Expand Up @@ -317,7 +317,7 @@ void HeadsUpDisplayLayerImpl::UpdateHudTexture(
pool_resource.size().height(), GLDataFormat(pool_resource.format()),
GLDataType(pool_resource.format()), pixmap.addr());
backing->mailbox_sync_token =
LayerTreeResourceProvider::GenerateSyncTokenHelper(gl);
viz::ClientResourceProvider::GenerateSyncTokenHelper(gl);
} else {
// If not using gpu compositing, we DrawHudContents() directly into a shared
// memory bitmap, wrapped in an SkSurface, that can be shared to the display
Expand Down
9 changes: 6 additions & 3 deletions cc/layers/heads_up_display_layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@ class SkPaint;
class SkTypeface;
struct SkRect;

namespace viz {
class ClientResourceProvider;
}

namespace cc {
class FrameRateCounter;
class LayerTreeFrameSink;
class LayerTreeResourceProvider;

class CC_EXPORT HeadsUpDisplayLayerImpl : public LayerImpl {
public:
Expand All @@ -41,12 +44,12 @@ class CC_EXPORT HeadsUpDisplayLayerImpl : public LayerImpl {
std::unique_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override;

bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) override;
viz::ClientResourceProvider* resource_provider) override;
void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) override;
void UpdateHudTexture(DrawMode draw_mode,
LayerTreeFrameSink* frame_sink,
LayerTreeResourceProvider* resource_provider,
viz::ClientResourceProvider* resource_provider,
bool gpu_raster,
const viz::RenderPassList& list);

Expand Down
2 changes: 1 addition & 1 deletion cc/layers/heads_up_display_layer_impl_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace {

void CheckDrawLayer(HeadsUpDisplayLayerImpl* layer,
LayerTreeFrameSink* frame_sink,
LayerTreeResourceProvider* resource_provider,
viz::ClientResourceProvider* resource_provider,
viz::ContextProvider* context_provider,
DrawMode draw_mode) {
std::unique_ptr<viz::RenderPass> render_pass = viz::RenderPass::Create();
Expand Down
8 changes: 4 additions & 4 deletions cc/layers/layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include "cc/input/main_thread_scrolling_reason.h"
#include "cc/input/scroll_state.h"
#include "cc/layers/layer.h"
#include "cc/resources/layer_tree_resource_provider.h"
#include "cc/trees/clip_node.h"
#include "cc/trees/draw_property_utils.h"
#include "cc/trees/effect_node.h"
Expand All @@ -34,6 +33,7 @@
#include "cc/trees/proxy.h"
#include "cc/trees/scroll_node.h"
#include "cc/trees/transform_node.h"
#include "components/viz/client/client_resource_provider.h"
#include "components/viz/common/frame_sinks/copy_output_request.h"
#include "components/viz/common/quads/debug_border_draw_quad.h"
#include "components/viz/common/quads/render_pass.h"
Expand Down Expand Up @@ -175,15 +175,15 @@ void LayerImpl::PopulateScaledSharedQuadState(viz::SharedQuadState* state,
}

bool LayerImpl::WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
viz::ClientResourceProvider* resource_provider) {
// WillDraw/DidDraw must be matched.
DCHECK_NE(DRAW_MODE_NONE, draw_mode);
DCHECK_EQ(DRAW_MODE_NONE, current_draw_mode_);
current_draw_mode_ = draw_mode;
return true;
}

void LayerImpl::DidDraw(LayerTreeResourceProvider* resource_provider) {
void LayerImpl::DidDraw(viz::ClientResourceProvider* resource_provider) {
DCHECK_NE(DRAW_MODE_NONE, current_draw_mode_);
current_draw_mode_ = DRAW_MODE_NONE;
}
Expand Down Expand Up @@ -476,7 +476,7 @@ void LayerImpl::NoteLayerPropertyChangedFromPropertyTrees() {

void LayerImpl::ValidateQuadResourcesInternal(viz::DrawQuad* quad) const {
#if DCHECK_IS_ON()
const LayerTreeResourceProvider* resource_provider =
const viz::ClientResourceProvider* resource_provider =
layer_tree_impl_->resource_provider();
for (viz::ResourceId resource_id : quad->resources)
resource_provider->ValidateResource(resource_id);
Expand Down
6 changes: 3 additions & 3 deletions cc/layers/layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,14 @@ class DictionaryValue;
}

namespace viz {
class ClientResourceProvider;
class RenderPass;
}

namespace cc {

class AppendQuadsData;
class LayerTreeImpl;
class LayerTreeResourceProvider;
class MicroBenchmarkImpl;
class MutatorHost;
class PrioritizedTile;
Expand Down Expand Up @@ -138,10 +138,10 @@ class CC_EXPORT LayerImpl {
// WillDraw/DidDraw must call the base class version only if WillDraw
// returns true.
virtual bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider);
viz::ClientResourceProvider* resource_provider);
virtual void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) {}
virtual void DidDraw(LayerTreeResourceProvider* resource_provider);
virtual void DidDraw(viz::ClientResourceProvider* resource_provider);

// Verify that the resource ids in the quad are valid.
void ValidateQuadResources(viz::DrawQuad* quad) const {
Expand Down
2 changes: 1 addition & 1 deletion cc/layers/painted_overlay_scrollbar_layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ void PaintedOverlayScrollbarLayerImpl::PushPropertiesTo(LayerImpl* layer) {

bool PaintedOverlayScrollbarLayerImpl::WillDraw(
DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
viz::ClientResourceProvider* resource_provider) {
DCHECK(draw_mode != DRAW_MODE_RESOURCELESS_SOFTWARE);
return LayerImpl::WillDraw(draw_mode, resource_provider);
}
Expand Down
2 changes: 1 addition & 1 deletion cc/layers/painted_overlay_scrollbar_layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class CC_EXPORT PaintedOverlayScrollbarLayerImpl
void PushPropertiesTo(LayerImpl* layer) override;

bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) override;
viz::ClientResourceProvider* resource_provider) override;
void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) override;

Expand Down
2 changes: 1 addition & 1 deletion cc/layers/painted_scrollbar_layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ void PaintedScrollbarLayerImpl::PushPropertiesTo(LayerImpl* layer) {

bool PaintedScrollbarLayerImpl::WillDraw(
DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
viz::ClientResourceProvider* resource_provider) {
DCHECK(draw_mode != DRAW_MODE_RESOURCELESS_SOFTWARE);
return LayerImpl::WillDraw(draw_mode, resource_provider);
}
Expand Down
2 changes: 1 addition & 1 deletion cc/layers/painted_scrollbar_layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class CC_EXPORT PaintedScrollbarLayerImpl : public ScrollbarLayerImplBase {
void PushPropertiesTo(LayerImpl* layer) override;

bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) override;
viz::ClientResourceProvider* resource_provider) override;
void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) override;
gfx::Rect GetEnclosingRectInTargetSpace() const override;
Expand Down
5 changes: 3 additions & 2 deletions cc/layers/texture_layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,9 @@ void TextureLayerImpl::PushPropertiesTo(LayerImpl* layer) {
to_unregister_bitmap_ids_.clear();
}

bool TextureLayerImpl::WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
bool TextureLayerImpl::WillDraw(
DrawMode draw_mode,
viz::ClientResourceProvider* resource_provider) {
if (draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE)
return false;
// These imply some synchronization problem where the compositor is in gpu
Expand Down
6 changes: 3 additions & 3 deletions cc/layers/texture_layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class CC_EXPORT TextureLayerImpl : public LayerImpl {
void PushPropertiesTo(LayerImpl* layer) override;

bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) override;
viz::ClientResourceProvider* resource_provider) override;
void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) override;
SimpleEnclosedRegion VisibleOpaqueRegion() const override;
Expand Down Expand Up @@ -92,13 +92,13 @@ class CC_EXPORT TextureLayerImpl : public LayerImpl {

// True while the |transferable_resource_| is owned by this layer, and
// becomes false once it is passed to another layer or to the
// LayerTreeResourceProvider, at which point we get back a |resource_id_|.
// viz::ClientResourceProvider, at which point we get back a |resource_id_|.
bool own_resource_ = false;
// A TransferableResource from the layer's client that will be given
// to the display compositor.
viz::TransferableResource transferable_resource_;
// Local ResourceId for the TransferableResource, to be used with the
// compositor's LayerTreeResourceProvider in order to refer to the
// compositor's viz::ClientResourceProvider in order to refer to the
// TransferableResource given to it.
viz::ResourceId resource_id_ = 0;
std::unique_ptr<viz::SingleReleaseCallback> release_callback_;
Expand Down
2 changes: 1 addition & 1 deletion cc/layers/ui_resource_layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ void UIResourceLayerImpl::SetVertexOpacity(const float vertex_opacity[4]) {

bool UIResourceLayerImpl::WillDraw(
DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
viz::ClientResourceProvider* resource_provider) {
if (!ui_resource_id_ || draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE)
return false;
return LayerImpl::WillDraw(draw_mode, resource_provider);
Expand Down
7 changes: 5 additions & 2 deletions cc/layers/ui_resource_layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ namespace base {
class DictionaryValue;
}

namespace viz {
class ClientResourceProvider;
}

namespace cc {
class LayerTreeResourceProvider;

class CC_EXPORT UIResourceLayerImpl : public LayerImpl {
public:
Expand All @@ -45,7 +48,7 @@ class CC_EXPORT UIResourceLayerImpl : public LayerImpl {
void PushPropertiesTo(LayerImpl* layer) override;

bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) override;
viz::ClientResourceProvider* resource_provider) override;
void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) override;

Expand Down
6 changes: 3 additions & 3 deletions cc/layers/video_layer_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "cc/layers/video_frame_provider_client_impl.h"
#include "cc/resources/layer_tree_resource_provider.h"
#include "cc/trees/layer_tree_frame_sink.h"
#include "cc/trees/layer_tree_impl.h"
#include "cc/trees/occlusion.h"
#include "cc/trees/task_runner_provider.h"
#include "components/viz/client/client_resource_provider.h"
#include "components/viz/common/quads/stream_video_draw_quad.h"
#include "components/viz/common/quads/texture_draw_quad.h"
#include "components/viz/common/quads/yuv_video_draw_quad.h"
Expand Down Expand Up @@ -77,7 +77,7 @@ void VideoLayerImpl::DidBecomeActive() {
}

bool VideoLayerImpl::WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) {
viz::ClientResourceProvider* resource_provider) {
if (draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE)
return false;

Expand Down Expand Up @@ -158,7 +158,7 @@ void VideoLayerImpl::AppendQuads(viz::RenderPass* render_pass,
GetSortingContextId(), visible_quad_rect);
}

void VideoLayerImpl::DidDraw(LayerTreeResourceProvider* resource_provider) {
void VideoLayerImpl::DidDraw(viz::ClientResourceProvider* resource_provider) {
LayerImpl::DidDraw(resource_provider);

DCHECK(frame_.get());
Expand Down
4 changes: 2 additions & 2 deletions cc/layers/video_layer_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ class CC_EXPORT VideoLayerImpl : public LayerImpl {
// LayerImpl implementation.
std::unique_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override;
bool WillDraw(DrawMode draw_mode,
LayerTreeResourceProvider* resource_provider) override;
viz::ClientResourceProvider* resource_provider) override;
void AppendQuads(viz::RenderPass* render_pass,
AppendQuadsData* append_quads_data) override;
void DidDraw(LayerTreeResourceProvider* resource_provider) override;
void DidDraw(viz::ClientResourceProvider* resource_provider) override;
SimpleEnclosedRegion VisibleOpaqueRegion() const override;
void DidBecomeActive() override;
void ReleaseResources() override;
Expand Down
2 changes: 1 addition & 1 deletion cc/paint/paint_op_buffer_serializer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class ScopedFlagsOverride {
PaintOp::SerializeOptions* options_;
};

// Copied from LayerTreeResourceProvider.
// Copied from viz::ClientResourceProvider.
SkSurfaceProps ComputeSurfaceProps(bool can_use_lcd_text) {
uint32_t flags = 0;
// Use unknown pixel geometry to disable LCD text.
Expand Down
10 changes: 5 additions & 5 deletions cc/raster/gpu_raster_buffer_provider.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include "cc/paint/paint_recorder.h"
#include "cc/raster/raster_source.h"
#include "cc/raster/scoped_gpu_raster.h"
#include "cc/resources/layer_tree_resource_provider.h"
#include "components/viz/client/client_resource_provider.h"
#include "components/viz/common/gpu/context_provider.h"
#include "components/viz/common/gpu/raster_context_provider.h"
#include "components/viz/common/gpu/texture_allocation.h"
Expand Down Expand Up @@ -71,7 +71,7 @@ class ScopedSkSurfaceForUnpremultiplyAndDither {
SkImageInfo n32Info = SkImageInfo::MakeN32Premul(
intermediate_size.width(), intermediate_size.height());
SkSurfaceProps surface_props =
LayerTreeResourceProvider::ScopedSkSurface::ComputeSurfaceProps(
viz::ClientResourceProvider::ScopedSkSurface::ComputeSurfaceProps(
can_use_lcd_text);
surface_ = SkSurface::MakeRenderTarget(
context_provider->GrContext(), SkBudgeted::kNo, n32Info,
Expand Down Expand Up @@ -212,7 +212,7 @@ static void RasterizeSource(

{
ScopedGrContextAccess gr_context_access(context_provider);
base::Optional<LayerTreeResourceProvider::ScopedSkSurface> scoped_surface;
base::Optional<viz::ClientResourceProvider::ScopedSkSurface> scoped_surface;
base::Optional<ScopedSkSurfaceForUnpremultiplyAndDither>
scoped_dither_surface;
SkSurface* surface;
Expand Down Expand Up @@ -385,7 +385,7 @@ std::unique_ptr<RasterBuffer> GpuRasterBufferProvider::AcquireBufferForRaster(
// Save a sync token in the backing so that we always wait on it even if
// this task is cancelled between being scheduled and running.
backing->returned_sync_token =
LayerTreeResourceProvider::GenerateSyncTokenHelper(gl);
viz::ClientResourceProvider::GenerateSyncTokenHelper(gl);

resource.set_gpu_backing(std::move(backing));
}
Expand Down Expand Up @@ -528,7 +528,7 @@ gpu::SyncToken GpuRasterBufferProvider::PlaybackOnWorkerThread(
}

// Generate sync token for cross context synchronization.
return LayerTreeResourceProvider::GenerateSyncTokenHelper(ri);
return viz::ClientResourceProvider::GenerateSyncTokenHelper(ri);
}

bool GpuRasterBufferProvider::ShouldUnpremultiplyAndDitherResource(
Expand Down
Loading

0 comments on commit 57baa77

Please sign in to comment.