Flutter Engine
The Flutter Engine
|
Namespaces | |
namespace | DashOp |
namespace | DrawAtlasOp |
namespace | DrawMeshOp |
namespace | FillRRectOp |
namespace | LatticeOp |
namespace | QuadPerEdgeAA |
namespace | RegionOp |
namespace | ShadowRRectOp |
namespace | StrokeRectOp |
Typedefs | |
using | PathStrokeList = StrokeTessellator::PathStrokeList |
using | MakePathStrokesFn = std::vector< PathStrokeList >(*)() |
using | PatchAttribs = tess::PatchAttribs |
using | DataType = SkYUVAPixmapInfo::DataType |
using | DoSimplify = GrStyledShape::DoSimplify |
Enumerations | |
enum class | FillPathFlags { kNone = 0 , kStencilOnly = (1 << 0) , kWireframe = (1 << 1) } |
Variables | |
static constexpr int | kNumCubicsInChalkboard = 47182 |
static const SkMatrix | gAlmostIdentity |
GrStrokeFixedCountTessellator_one_chop | |
static constexpr int | kElementStackIncrement = 8 |
static constexpr int | kSaveStackIncrement = 8 |
static constexpr int | kMaskStackIncrement = 4 |
static constexpr int | kMaxAnalyticFPs = 4 |
static constexpr int | kNumStackMasks = 4 |
static constexpr auto | kAtlasAlpha8Type = GrColorType::kAlpha_8 |
static constexpr int | kAtlasInitialSize = 512 |
static constexpr auto | kAtlasAlgorithm = GrDynamicAtlas::RectanizerAlgorithm::kPow2 |
static constexpr int | kAtlasMaxPathHeight = 256 |
static constexpr int | kAtlasMaxPathHeightWithMSAAFallback = 128 |
static constexpr int | kAtlasMaxPathWidth = 1024 |
static constexpr int | kVerticesPerGlyph = 4 |
static constexpr int | kIndicesPerGlyph = 6 |
static thread_local void * | gCache = nullptr |
using skgpu::ganesh::DataType = typedef SkYUVAPixmapInfo::DataType |
Definition at line 706 of file GrImageUtils.cpp.
using skgpu::ganesh::DoSimplify = typedef GrStyledShape::DoSimplify |
Definition at line 119 of file SurfaceDrawContext.cpp.
using skgpu::ganesh::MakePathStrokesFn = typedef std::vector<PathStrokeList>(*)() |
Definition at line 244 of file TessellateBench.cpp.
using skgpu::ganesh::PatchAttribs = typedef tess::PatchAttribs |
Definition at line 311 of file TessellateBench.cpp.
using skgpu::ganesh::PathStrokeList = typedef StrokeTessellator::PathStrokeList |
Definition at line 243 of file TessellateBench.cpp.
|
strong |
Enumerator | |
---|---|
kNone | |
kStencilOnly | |
kWireframe |
Definition at line 16 of file FillPathFlags.h.
|
static |
Definition at line 64 of file SurfaceContext.cpp.
|
inline |
Definition at line 100 of file GrImageUtils.h.
std::unique_ptr< GrFragmentProcessor > skgpu::ganesh::AsFragmentProcessor | ( | GrRecordingContext * | , |
const SkImage * | , | ||
SkSamplingOptions | , | ||
const | SkTileMode[2], | ||
const SkMatrix & | , | ||
const SkRect * | subset = nullptr , |
||
const SkRect * | domain = nullptr |
||
) |
Returns a GrFragmentProcessor that can be used with the passed GrRecordingContext to draw the image. SkSamplingOptions indicates the filter and SkTileMode[] indicates the x and y tile modes. The passed matrix is applied to the coordinates before sampling the image. Optional 'subset' indicates whether the tile modes should be applied to a subset of the image Optional 'domain' is a bound on the coordinates of the image that will be required and can be used to optimize the shader if 'subset' is also specified.
Definition at line 540 of file GrImageUtils.cpp.
|
inline |
Definition at line 50 of file GrImageUtils.h.
std::tuple< GrSurfaceProxyView, GrColorType > skgpu::ganesh::AsView | ( | GrRecordingContext * | rContext, |
const SkImage * | img, | ||
skgpu::Mipmapped | mipmapped, | ||
GrImageTexGenPolicy | policy | ||
) |
Definition at line 419 of file GrImageUtils.cpp.
|
static |
Definition at line 189 of file TessellateBench.cpp.
|
static |
Definition at line 203 of file TessellateBench.cpp.
|
static |
Definition at line 161 of file TessellateBench.cpp.
GrColorType skgpu::ganesh::ColorTypeOfLockTextureProxy | ( | const GrCaps * | caps, |
SkColorType | sct | ||
) |
Definition at line 133 of file GrImageUtils.cpp.
GrBackendApi skgpu::ganesh::ContextTypeBackend | ( | skgpu::ContextType | type | ) |
Definition at line 92 of file ContextType.cpp.
GrSurfaceProxyView skgpu::ganesh::CopyView | ( | GrRecordingContext * | context, |
GrSurfaceProxyView | src, | ||
skgpu::Mipmapped | mipmapped, | ||
GrImageTexGenPolicy | policy, | ||
std::string_view | label | ||
) |
Definition at line 89 of file GrImageUtils.cpp.
|
new |
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | GrPathCurveTessellator | , |
make_cubic_path(8) | , | ||
SkMatrix::I() | |||
) |
Definition at line 137 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | GrPathWedgeTessellator | , |
make_cubic_path(8) | , | ||
SkMatrix::I() | |||
) |
Definition at line 149 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | middle_out_triangulation | , |
ToolUtils::make_star(SkRect::MakeWH(500, 500), kNumCubicsInChalkboard) | , | ||
SkMatrix::I() | |||
) |
Definition at line 225 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | wangs_formula_conic | , |
make_conic_path() | , | ||
SkMatrix::I() | |||
) |
Definition at line 217 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | wangs_formula_conic_log2 | , |
make_conic_path() | , | ||
SkMatrix::I() | |||
) |
Definition at line 221 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | wangs_formula_cubic_log2 | , |
make_cubic_path(18) | , | ||
SkMatrix::I() | |||
) |
Definition at line 175 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | wangs_formula_cubic_log2_affine | , |
make_cubic_path(18) | , | ||
SkMatrix::MakeAll(.9f, 0.9f, 0, 1.1f, 1.1f, 0, 0, 0, 1) | |||
) |
Definition at line 184 of file TessellateBench.cpp.
skgpu::ganesh::DEF_PATH_TESS_BENCH | ( | wangs_formula_cubic_log2_scale | , |
make_cubic_path(18) | , | ||
SkMatrix::Scale(1.1f, 0.9f) | |||
) |
Definition at line 179 of file TessellateBench.cpp.
bool skgpu::ganesh::DrawDDL | ( | sk_sp< SkSurface > | surface, |
sk_sp< const GrDeferredDisplayList > | ddl | ||
) |
Definition at line 76 of file GrDeferredDisplayList.cpp.
bool skgpu::ganesh::DrawDDL | ( | SkSurface * | surface, |
sk_sp< const GrDeferredDisplayList > | ddl | ||
) |
Draws the deferred display list created via a GrDeferredDisplayListRecorder. If the deferred display list is not compatible with the surface, the draw is skipped and false is return.
The xOffset and yOffset parameters are experimental and, if not both zero, will cause the draw to be ignored. When implemented, if xOffset or yOffset are non-zero, the DDL will be drawn offset by that amount into the surface.
SkSurface | The surface to apply the commands to, cannot be nullptr. |
ddl | drawing commands, cannot be nullptr. |
example: https://fiddle.skia.org/c/@Surface_draw_2
Definition at line 64 of file GrDeferredDisplayList.cpp.
std::tuple< bool, bool > skgpu::ganesh::FilterAndMipmapHaveNoEffect | ( | const GrQuad & | srcQuad, |
const GrQuad & | dstQuad | ||
) |
Tests if filtering will have any effect in the drawing of the 'srcQuad' to the 'dstquad'. We return false when filtering has no impact drawing operations as they are effectively blits.
Definition at line 1114 of file TextureOp.cpp.
GrSurfaceProxyView skgpu::ganesh::FindOrMakeCachedMipmappedView | ( | GrRecordingContext * | , |
GrSurfaceProxyView | , | ||
uint32_t | imageUniqueID | ||
) |
Returns input view if it is already mipmapped. Otherwise, attempts to make a mipmapped view with the same contents. If the mipmapped copy is successfully created it will be cached using the image unique ID. A subsequent call with the same unique ID will return the cached view if it has not been purged. The view is cached with a key domain specific to this function.
Definition at line 671 of file GrImageUtils.cpp.
GrSemaphoresSubmitted skgpu::ganesh::Flush | ( | sk_sp< SkSurface > | surface | ) |
Definition at line 787 of file SkSurface_Ganesh.cpp.
GrSemaphoresSubmitted skgpu::ganesh::Flush | ( | SkSurface * | surface | ) |
Definition at line 777 of file SkSurface_Ganesh.cpp.
Definition at line 806 of file SkSurface_Ganesh.cpp.
void skgpu::ganesh::FlushAndSubmit | ( | SkSurface * | surface | ) |
Definition at line 797 of file SkSurface_Ganesh.cpp.
|
static |
Definition at line 242 of file GrImageUtils.cpp.
|
static |
Definition at line 1585 of file SurfaceDrawContext.cpp.
|
static |
Definition at line 142 of file GrImageUtils.cpp.
|
staticconstexpr |
|
staticconstexpr |
|
static |
Definition at line 411 of file GrImageUtils.cpp.
GrSurfaceProxyView skgpu::ganesh::LockTextureProxyView | ( | GrRecordingContext * | rContext, |
const SkImage_Lazy * | img, | ||
GrImageTexGenPolicy | texGenPolicy, | ||
skgpu::Mipmapped | mipmapped | ||
) |
Definition at line 284 of file GrImageUtils.cpp.
|
static |
Definition at line 55 of file TessellateBench.cpp.
Definition at line 44 of file TessellateBench.cpp.
|
static |
Definition at line 449 of file GrImageUtils.cpp.
|
static |
Definition at line 29 of file TessellateBench.cpp.
|
static |
Definition at line 259 of file TessellateBench.cpp.
Definition at line 68 of file TessellateBench.cpp.
|
static |
Definition at line 246 of file TessellateBench.cpp.
std::unique_ptr< GrFragmentProcessor > skgpu::ganesh::MakeFragmentProcessorFromView | ( | GrRecordingContext * | rContext, |
GrSurfaceProxyView | view, | ||
SkAlphaType | at, | ||
SkSamplingOptions | sampling, | ||
const SkTileMode | tileModes[2], | ||
const SkMatrix & | m, | ||
const SkRect * | subset, | ||
const SkRect * | domain | ||
) |
Definition at line 588 of file GrImageUtils.cpp.
bool skgpu::ganesh::PinAsTexture | ( | GrRecordingContext * | rContext, |
SkImage * | img | ||
) |
Will attempt to upload and lock the contents of the image as a texture, so that subsequent draws to a gpu-target will come from that texture (and not by looking at the original image src). In particular this is intended to use the texture even if the image's original content changes subsequent to this call (i.e. the src is mutable!).
Only compatible with SkImages created from SkImages::PinnableRasterFromBitmap.
All successful calls must be balanced by an equal number of calls to UnpinTexture().
Once in this "pinned" state, the image has all of the same thread restrictions that exist for a natively created gpu image (e.g. SkImage::MakeFromTexture)
Definition at line 66 of file SkImage_RasterPinnable.cpp.
std::unique_ptr< GrFragmentProcessor > skgpu::ganesh::raster_as_fp | ( | GrRecordingContext * | rContext, |
const SkImage_Raster * | img, | ||
SkSamplingOptions | sampling, | ||
const SkTileMode | tileModes[2], | ||
const SkMatrix & | m, | ||
const SkRect * | subset, | ||
const SkRect * | domain | ||
) |
Definition at line 521 of file GrImageUtils.cpp.
std::tuple< GrSurfaceProxyView, GrColorType > skgpu::ganesh::RasterAsView | ( | GrRecordingContext * | rContext, |
const SkImage_Raster * | raster, | ||
skgpu::Mipmapped | mipmapped, | ||
GrImageTexGenPolicy | policy | ||
) |
Definition at line 105 of file GrImageUtils.cpp.
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gFixedCountCurveIndexBufferKey | ) |
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gFixedCountCurveVertexBufferKey | ) |
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gFixedCountWedgesIndexBufferKey | ) |
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gFixedCountWedgesVertexBufferKey | ) |
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gHullVertexBufferKey | ) |
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gUnitQuadBufferKey | ) |
skgpu::ganesh::SKGPU_DECLARE_STATIC_UNIQUE_KEY | ( | gVertexIDFallbackBufferKey | ) |
SkYUVAPixmapInfo::SupportedDataTypes skgpu::ganesh::SupportedTextureFormats | ( | const GrImageContext & | ) |
Init based on texture formats supported by the context.
Definition at line 708 of file GrImageUtils.cpp.
|
static |
Definition at line 152 of file GrImageUtils.cpp.
SurfaceDrawContext * skgpu::ganesh::TopDeviceSurfaceDrawContext | ( | const SkCanvas * | canvas | ) |
Definition at line 20 of file GrCanvas.cpp.
SurfaceFillContext * skgpu::ganesh::TopDeviceSurfaceFillContext | ( | const SkCanvas * | canvas | ) |
Definition at line 27 of file GrCanvas.cpp.
GrRenderTargetProxy * skgpu::ganesh::TopDeviceTargetProxy | ( | const SkCanvas * | canvas | ) |
Definition at line 34 of file GrCanvas.cpp.
GrBackendRenderTarget skgpu::ganesh::TopLayerBackendRenderTarget | ( | const SkCanvas * | canvas | ) |
Definition at line 45 of file GrCanvas.cpp.
Definition at line 41 of file GrCanvas.cpp.
void skgpu::ganesh::UnpinTexture | ( | GrRecordingContext * | , |
SkImage * | img | ||
) |
The balancing call to a successful invocation of PinAsTexture. When a balanced number of calls have been made, then the "pinned" texture is free to be purged, etc. This also means that a subsequent "pin" call will look at the original content again, and if its uniqueID/generationID has changed, then a newer texture will be uploaded/pinned.
Only compatible with SkImages created from SkImages::PinnableRasterFromBitmap.
The context passed to unpin must match the one passed to pin.
Definition at line 98 of file SkImage_RasterPinnable.cpp.
|
static |
Definition at line 132 of file TessellateBench.cpp.
|
static |
Definition at line 62 of file AtlasTextOp.cpp.
skgpu::ganesh::GrStrokeFixedCountTessellator_one_chop |
Definition at line 375 of file TessellateBench.cpp.
|
staticconstexpr |
Definition at line 93 of file AtlasPathRenderer.cpp.
|
staticconstexpr |
Definition at line 87 of file AtlasPathRenderer.cpp.
|
staticconstexpr |
Definition at line 88 of file AtlasPathRenderer.cpp.
|
staticconstexpr |
Definition at line 96 of file AtlasPathRenderer.cpp.
|
staticconstexpr |
Definition at line 100 of file AtlasPathRenderer.cpp.
|
staticconstexpr |
Definition at line 105 of file AtlasPathRenderer.cpp.
|
staticconstexpr |
Definition at line 1134 of file ClipStack.cpp.
|
inlinestaticconstexpr |
Definition at line 59 of file AtlasTextOp.cpp.
|
staticconstexpr |
Definition at line 1136 of file ClipStack.cpp.
|
staticconstexpr |
Definition at line 1141 of file ClipStack.cpp.
|
staticconstexpr |
Definition at line 27 of file TessellateBench.cpp.
|
staticconstexpr |
Definition at line 1145 of file ClipStack.cpp.
|
staticconstexpr |
Definition at line 1135 of file ClipStack.cpp.
|
inlinestaticconstexpr |
Definition at line 58 of file AtlasTextOp.cpp.