Flutter Engine
The Flutter Engine
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GeometryBench Class Reference
Inheritance diagram for GeometryBench:
Benchmark SkRefCnt SkRefCntBase GeoRectBench QuadBenchBase GeoRectBench_Intersects GeoRectBench_intersect GeoRectBench_intersect_rect GeoRectBench_sort ChopCubicAt ChopQuadAt EvalQuadAt0 EvalQuadAt1 EvalQuadTangentAt0 EvalQuadTangentAt1

Public Member Functions

 GeometryBench (const char suffix[])
 
const char * onGetName () override
 
bool isSuitableFor (Backend backend) override
 
- Public Member Functions inherited from Benchmark
 Benchmark ()
 
const char * getName ()
 
const char * getUniqueName ()
 
SkISize getSize ()
 
virtual bool isSuitableFor (Backend backend)
 
virtual void modifyGrContextOptions (GrContextOptions *)
 
virtual bool shouldLoop () const
 
void delayedSetup ()
 
void perCanvasPreDraw (SkCanvas *)
 
void perCanvasPostDraw (SkCanvas *)
 
void preDraw (SkCanvas *)
 
void postDraw (SkCanvas *)
 
void draw (int loops, SkCanvas *)
 
virtual void getGpuStats (SkCanvas *, skia_private::TArray< SkString > *keys, skia_private::TArray< double > *values)
 
virtual bool getDMSAAStats (GrRecordingContext *)
 
int getUnits () const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Protected Member Functions

virtual void virtualCallToFoilOptimizers (int n)
 
- Protected Member Functions inherited from Benchmark
void setUnits (int units)
 
virtual void setupPaint (SkPaint *paint)
 
virtual const char * onGetName ()=0
 
virtual const char * onGetUniqueName ()
 
virtual void onDelayedSetup ()
 
virtual void onPerCanvasPreDraw (SkCanvas *)
 
virtual void onPerCanvasPostDraw (SkCanvas *)
 
virtual void onPreDraw (SkCanvas *)
 
virtual void onPostDraw (SkCanvas *)
 
virtual void onDraw (int loops, SkCanvas *)=0
 
virtual SkISize onGetSize ()
 

Protected Attributes

volatile int fVolatileInt
 

Additional Inherited Members

- Public Types inherited from Benchmark
enum class  Backend {
  kNonRendering , kRaster , kGanesh , kGraphite ,
  kPDF , kHWUI
}
 

Detailed Description

Definition at line 15 of file GeometryBench.cpp.

Constructor & Destructor Documentation

◆ GeometryBench()

GeometryBench::GeometryBench ( const char  suffix[])
inline

Definition at line 17 of file GeometryBench.cpp.

17 : fVolatileInt(0) {
18 fName.printf("geo_%s", suffix);
19 }
volatile int fVolatileInt
void printf(const char format[],...) SK_PRINTF_LIKE(2
Definition: SkString.cpp:534

Member Function Documentation

◆ isSuitableFor()

bool GeometryBench::isSuitableFor ( Backend  backend)
inlineoverridevirtual

Reimplemented from Benchmark.

Definition at line 25 of file GeometryBench.cpp.

25 {
27 }
const char * backend

◆ onGetName()

const char * GeometryBench::onGetName ( )
inlineoverridevirtual

Implements Benchmark.

Definition at line 21 of file GeometryBench.cpp.

21 {
22 return fName.c_str();
23 }
const char * c_str() const
Definition: SkString.h:133

◆ virtualCallToFoilOptimizers()

virtual void GeometryBench::virtualCallToFoilOptimizers ( int  n)
inlineprotectedvirtual

Subclasses can call this to try to defeat the optimizer (with some result of their inner loop), since it will fool the compiler into assuming that "n" is actually needed somewhere, and since this method is not const, the member fields cannot be assumed to be const before and after the call.

Definition at line 38 of file GeometryBench.cpp.

38 {
39 fVolatileInt = n;
40 }

Member Data Documentation

◆ fVolatileInt

volatile int GeometryBench::fVolatileInt
protected

Definition at line 30 of file GeometryBench.cpp.


The documentation for this class was generated from the following file: