8#ifndef DMSrcSink_DEFINED
9#define DMSrcSink_DEFINED
107 return this->
draw(canvas, graphiteTestContext);
111 virtual bool serial()
const {
return false; }
123 virtual bool serial()
const {
return false; }
144#if defined(SK_GRAPHITE)
177 bool serial()
const override {
return fRunSerially; }
195 bool serial()
const override {
return fRunSerially; }
204#ifdef SK_ENABLE_ANDROID_UTILS
206class BRDSrc :
public Src {
218 BRDSrc(Path,
Mode, CodecSrc::DstColorType, uint32_t);
220 Result
draw(
SkCanvas*, GraphiteTestContext*)
const override;
223 bool veto(SinkFlags)
const override;
227 CodecSrc::DstColorType fDstColorType;
228 uint32_t fSampleSize;
244 bool serial()
const override {
return fRunSerially; }
292#if defined(SK_ENABLE_SKOTTIE)
293class SkottieSrc final :
public Src {
295 explicit SkottieSrc(
Path path);
304 inline static constexpr int kTileCount = 5;
307 inline static constexpr SkScalar kTargetSize = 1000;
308 inline static constexpr SkScalar kTileSize = kTargetSize / kTileCount;
314#if defined(SK_ENABLE_SVG)
321class SVGSrc :
public Src {
323 explicit SVGSrc(Path path);
325 Result
draw(
SkCanvas*, GraphiteTestContext*)
const override;
328 bool veto(SinkFlags)
const override;
379 return fContextOverrides;
382 bool serial()
const override {
return true; }
392 return SkColorInfo(fColorType, fAlphaType, fColorSpace);
404 uint32_t fSurfaceFlags;
489 std::unique_ptr<SkExecutor> fRecordingExecutor;
490 std::unique_ptr<SkExecutor> fGPUExecutor;
529 return SkColorInfo(fColorType, alphaType, fColorSpace);
565#if defined(SK_GRAPHITE)
567class GraphiteSink :
public Sink {
569 GraphiteSink(
const SkCommandLineConfigGraphite*);
572 bool serial()
const override {
return true; }
573 const char* fileExtension()
const override {
return "png"; }
574 SinkFlags
flags()
const override {
return SinkFlags{SinkFlags::kGPU, SinkFlags::kDirect}; }
583 using SurfaceType = SkCommandLineConfigGraphite::SurfaceType;
593#if defined(SK_ENABLE_PRECOMPILE)
601class GraphitePrecompileTestingSink :
public GraphiteSink {
603 GraphitePrecompileTestingSink(
const SkCommandLineConfigGraphite*);
604 ~GraphitePrecompileTestingSink()
override;
608 const char* fileExtension()
const override {
617 Result drawSrc(
const Src&,
622 mutable std::unique_ptr<skgpu::graphite::Recorder> fRecorder;
640 fSink->setColorSpace(colorSpace);
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
#define SK_PRINTF_LIKE(A, B)
SK_API bool SkColorTypeValidateAlphaType(SkColorType colorType, SkAlphaType alphaType, SkAlphaType *canonical=nullptr)
#define INHERITED(method,...)
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
bool serial() const override
SkISize size() const override
bool veto(SinkFlags) const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
Name name() const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
bool veto(SinkFlags) const override
bool serial() const override
SkISize size() const override
@ kGetFromCanvas_DstColorType
@ kGrayscale_Always_DstColorType
@ kNonNative8888_Always_DstColorType
Name name() const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
Name name() const override
bool veto(SinkFlags) const override
SkISize size() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
const char * fileExtension() const override
SinkFlags flags() const override
Name name() const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
void modifyGrContextOptions(GrContextOptions *options) const override
SkISize size() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
const char * fileExtension() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
const char * fileExtension() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
SinkFlags flags() const override
const sk_gpu_test::GrContextFactory::ContextOverrides & contextOverrides() const
const char * fileExtension() const override
skgpu::ContextType contextType() const
Result onDraw(const Src &, SkBitmap *, SkWStream *, SkString *, const GrContextOptions &baseOptions, std::function< void(GrDirectContext *)> initContext=nullptr, std::function< SkCanvas *(SkCanvas *)> wrapCanvas=nullptr) const
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
const GrContextOptions & baseContextOptions() const
bool readBack(SkSurface *, SkBitmap *dst) const
SkColorInfo colorInfo() const override
SkCommandLineConfigGpu::SurfType surfType() const
bool serial() const override
sk_sp< SkSurface > createDstSurface(GrDirectContext *, SkISize size) const
void setColorSpace(sk_sp< SkColorSpace > colorSpace) override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
bool veto(SinkFlags) const override
Name name() const override
bool serial() const override
SkISize size() const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
SkISize size() const override
Result draw(SkCanvas *c, GraphiteTestContext *) const override
int pageCount() const override
Name name() const override
const char * fileExtension() const override
SinkFlags flags() const override
Result draw(const Src &src, SkBitmap *, SkWStream *, SkString *) const override
SinkFlags flags() const override
PDFSink(bool pdfa, SkScalar rasterDpi)
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
const char * fileExtension() const override
void setColorSpace(sk_sp< SkColorSpace > colorSpace) override
SinkFlags flags() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
SkColorInfo colorInfo() const override
const char * fileExtension() const override
const char * c_str() const
Result(Status status, SkString msg)
Result & operator=(const Result &)=default
static Result Skip(const char *fmt,...) SK_PRINTF_LIKE(1
static Result va_list args
static Result Fatal(const char *fmt,...) SK_PRINTF_LIKE(1
Result(const Result &)=default
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
SinkFlags flags() const override
const char * fileExtension() const override
Name name() const override
Result draw(SkCanvas *, GraphiteTestContext *) const override
SkISize size() const override
const char * fileExtension() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
SinkFlags flags() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
ViaRuntimeBlend(Sink *sink)
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
ViaSerialization(Sink *sink)
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
const char * fileExtension() const override
bool serial() const override
std::unique_ptr< Sink > fSink
void setColorSpace(sk_sp< SkColorSpace > colorSpace) override
SinkFlags flags() const override
const char * fileExtension() const override
SinkFlags flags() const override
Result draw(const Src &, SkBitmap *, SkWStream *, SkString *) const override
void void printVAList(const char format[], va_list) SK_PRINTF_LIKE(2
const char * c_str() const
FlutterSemanticsFlag flags
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
std::function< std::unique_ptr< skiagm::GM >()> GMFactory
static SkString fmt(SkColor4f c)
ImplicitString(const T &s)
SinkFlags(Type t, Approach a, Multisampled ms=kNotMultisampled)
enum DM::SinkFlags::Multisampled multisampled
enum DM::SinkFlags::Approach approach
enum DM::SinkFlags::Type type
virtual SkColorInfo colorInfo() const
virtual Result draw(const Src &, SkBitmap *, SkWStream *, SkString *log) const =0
virtual bool serial() const
virtual const char * fileExtension() const =0
virtual void setColorSpace(sk_sp< SkColorSpace >)
virtual SinkFlags flags() const =0
virtual void modifyGrContextOptions(GrContextOptions *) const
virtual Name name() const =0
virtual Result draw(SkCanvas *canvas, GraphiteTestContext *) const =0
virtual int pageCount() const
virtual bool veto(SinkFlags) const
virtual bool serial() const
virtual void modifyGraphiteContextOptions(skgpu::graphite::ContextOptions *) const
virtual SkISize size(int page) const
skiatest::graphite::GraphiteTestContext GraphiteTestContext
virtual SkISize size() const =0
virtual Result draw(int page, SkCanvas *canvas, GraphiteTestContext *graphiteTestContext) const