| Index: src/gpu/GrLayerHoister.h
|
| diff --git a/src/gpu/GrLayerHoister.h b/src/gpu/GrLayerHoister.h
|
| deleted file mode 100644
|
| index 2a41a35807d592a5339211bfe368675f1d2f5bb1..0000000000000000000000000000000000000000
|
| --- a/src/gpu/GrLayerHoister.h
|
| +++ /dev/null
|
| @@ -1,130 +0,0 @@
|
| -/*
|
| - * Copyright 2014 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#ifndef GrLayerHoister_DEFINED
|
| -#define GrLayerHoister_DEFINED
|
| -
|
| -#define SK_IGNORE_GPU_LAYER_HOISTING
|
| -
|
| -
|
| -#include "SkPicture.h"
|
| -#include "SkTDArray.h"
|
| -
|
| -#if !defined(SK_IGNORE_GPU_LAYER_HOISTING) && SK_SUPPORT_GPU
|
| -
|
| -struct GrCachedLayer;
|
| -class GrReplacements;
|
| -class SkGpuDevice;
|
| -struct SkRect;
|
| -
|
| -class GrHoistedLayer {
|
| -public:
|
| - const SkPicture* fPicture; // the picture that actually contains the layer
|
| - // (not necessarily the top-most picture)
|
| - GrCachedLayer* fLayer;
|
| - SkMatrix fInitialMat;
|
| - SkMatrix fPreMat;
|
| - SkMatrix fLocalMat;
|
| -};
|
| -
|
| -// This class collects the layer hoisting functionality in one place.
|
| -// For each picture rendering:
|
| -// FindLayersToHoist should be called once to collect the required layers
|
| -// DrawLayers should be called once to render them
|
| -// UnlockLayers should be called once to allow the texture resources to be recycled
|
| -class GrLayerHoister {
|
| -public:
|
| - /** Attempt to reattach layers that may have been atlased in the past
|
| - */
|
| - static void Begin(GrContext* context);
|
| -
|
| - /** Release cache resources
|
| - */
|
| - static void End(GrContext* context);
|
| -
|
| - /** Find the layers in 'topLevelPicture' that can be atlased. Note that the discovered
|
| - layers can be inside nested sub-pictures.
|
| - @param context Owner of the layer cache (the source of new layers)
|
| - @param topLevelPicture The top-level picture that is about to be rendered
|
| - @param initialMat The CTM of the canvas into which the layers will be drawn
|
| - @param query The rectangle that is about to be drawn.
|
| - @param atlasedNeedRendering Out parameter storing the layers that
|
| - should be hoisted to the atlas
|
| - @param recycled Out parameter storing layers that are atlased but do not need rendering
|
| - @param numSamples The number if MSAA samples required
|
| - */
|
| - static void FindLayersToAtlas(GrContext* context,
|
| - const SkPicture* topLevelPicture,
|
| - const SkMatrix& initialMat,
|
| - const SkRect& query,
|
| - SkTDArray<GrHoistedLayer>* atlasedNeedRendering,
|
| - SkTDArray<GrHoistedLayer>* recycled,
|
| - int numSamples);
|
| -
|
| - /** Find the layers in 'topLevelPicture' that need hoisting. Note that the discovered
|
| - layers can be inside nested sub-pictures.
|
| - @param context Owner of the layer cache (the source of new layers)
|
| - @param topLevelPicture The top-level picture that is about to be rendered
|
| - @param initialMat The CTM of the canvas into which the layers will be drawn
|
| - @param query The rectangle that is about to be drawn.
|
| - @param needRendering Out parameter storing the layers that need rendering.
|
| - This should never include atlased layers.
|
| - @param recycled Out parameter storing layers that need hoisting but not rendering
|
| - @param numSamples The number if MSAA samples required
|
| - */
|
| - static void FindLayersToHoist(GrContext* context,
|
| - const SkPicture* topLevelPicture,
|
| - const SkMatrix& initialMat,
|
| - const SkRect& query,
|
| - SkTDArray<GrHoistedLayer>* needRendering,
|
| - SkTDArray<GrHoistedLayer>* recycled,
|
| - int numSamples);
|
| -
|
| - /** Draw the specified layers into the atlas.
|
| - @param context Owner of the layer cache (and thus the layers)
|
| - @param layers The layers to be drawn into the atlas
|
| - */
|
| - static void DrawLayersToAtlas(GrContext* context, const SkTDArray<GrHoistedLayer>& layers);
|
| -
|
| - /** Draw the specified layers into their own individual textures.
|
| - @param context Owner of the layer cache (and thus the layers)
|
| - @param layers The layers to be drawn
|
| - */
|
| - static void DrawLayers(GrContext* context, const SkTDArray<GrHoistedLayer>& layers);
|
| -
|
| - /** Convert all the layers in 'layers' into replacement objects in 'replacements'.
|
| - @param layers The hoisted layers
|
| - @param replacements Replacement object that will be used for a replacement draw
|
| - */
|
| - static void ConvertLayersToReplacements(const SkPicture* topLevelPicture,
|
| - const SkTDArray<GrHoistedLayer>& layers,
|
| - GrReplacements* replacements);
|
| -
|
| - /** Unlock a group of layers in the layer cache.
|
| - @param context Owner of the layer cache (and thus the layers)
|
| - @param layers Unneeded layers in the atlas
|
| - */
|
| - static void UnlockLayers(GrContext* context, const SkTDArray<GrHoistedLayer>& layers);
|
| -
|
| - /** Forceably remove all cached layers and release the atlas. Useful for debugging and timing.
|
| - This is only functional when GR_CACHE_HOISTED_LAYERS is set to 1 in GrLayerCache.h
|
| - @param context Owner of the layer cache (and thus the layers)
|
| - */
|
| - static void PurgeCache(GrContext* context);
|
| -
|
| -private:
|
| - /** Update the GrTexture in 'layer' with its filtered version
|
| - @param context Owner of the layer cache (and thus the layers)
|
| - @param props Surface properties
|
| - @param info Layer info for a layer needing filtering prior to being composited
|
| - */
|
| - static void FilterLayer(GrContext* context, const SkSurfaceProps*, const GrHoistedLayer& info);
|
| -
|
| -};
|
| -#endif
|
| -
|
| -#endif
|
|
|