Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
CreateBackendTextureBench Class Reference
Inheritance diagram for CreateBackendTextureBench:
Benchmark SkRefCnt SkRefCntBase

Public Member Functions

 CreateBackendTextureBench (skgpu::Mipmapped mipmapped)
 
- Public Member Functions inherited from Benchmark
 Benchmark ()
 
const char * getName ()
 
const char * getUniqueName ()
 
SkISize getSize ()
 
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
 

Private Member Functions

bool isSuitableFor (Backend backend) override
 
const char * onGetName () override
 
void onDraw (int loops, SkCanvas *canvas) override
 
void onPerCanvasPostDraw (SkCanvas *canvas) override
 

Additional Inherited Members

- Public Types inherited from Benchmark
enum class  Backend {
  kNonRendering , kRaster , kGanesh , kGraphite ,
  kPDF , kHWUI
}
 
- Protected Member Functions inherited from Benchmark
void setUnits (int units)
 
virtual void setupPaint (SkPaint *paint)
 
virtual const char * onGetUniqueName ()
 
virtual void onDelayedSetup ()
 
virtual void onPerCanvasPreDraw (SkCanvas *)
 
virtual void onPreDraw (SkCanvas *)
 
virtual void onPostDraw (SkCanvas *)
 
virtual SkISize onGetSize ()
 

Detailed Description

Definition at line 15 of file CreateBackendTextureBench.cpp.

Constructor & Destructor Documentation

◆ CreateBackendTextureBench()

CreateBackendTextureBench::CreateBackendTextureBench ( skgpu::Mipmapped  mipmapped)
inline

Definition at line 22 of file CreateBackendTextureBench.cpp.

22 : fMipmapped(mipmapped) {
23 fName.printf("create_backend_texture%s",
24 mipmapped == skgpu::Mipmapped::kYes ? "_mipped" : "");
25 }
void printf(const char format[],...) SK_PRINTF_LIKE(2
Definition SkString.cpp:534

Member Function Documentation

◆ isSuitableFor()

bool CreateBackendTextureBench::isSuitableFor ( Backend  backend)
inlineoverrideprivatevirtual

Reimplemented from Benchmark.

Definition at line 28 of file CreateBackendTextureBench.cpp.

28{ return Backend::kGanesh == backend; }
const char * backend

◆ onDraw()

void CreateBackendTextureBench::onDraw ( int  loops,
SkCanvas canvas 
)
inlineoverrideprivatevirtual

Implements Benchmark.

Definition at line 32 of file CreateBackendTextureBench.cpp.

32 {
33 auto context = canvas->recordingContext()->asDirectContext();
34
35 fBackendTextures.reserve_exact(fBackendTextures.size() + loops);
36
37 static const int kSize = 16;
38 for (int i = 0; i < loops; ++i) {
39 fBackendTextures.push_back(
40 context->createBackendTexture(kSize,
41 kSize,
44 fMipmapped,
45 GrRenderable::kNo,
46 GrProtected::kNo,
47 nullptr,
48 nullptr,
49 /*label=*/"DrawBackendTextureBench"));
50 }
51 }
@ kRGBA_8888_SkColorType
pixel with 8 bits for red, green, blue, alpha; in 32-bit word
Definition SkColorType.h:24
virtual GrDirectContext * asDirectContext()
virtual GrRecordingContext * recordingContext() const
int size() const
Definition SkTArray.h:416
void reserve_exact(int n)
Definition SkTArray.h:176
static constexpr int kSize
constexpr SkColor4f kRed
Definition SkColor.h:440

◆ onGetName()

const char * CreateBackendTextureBench::onGetName ( )
inlineoverrideprivatevirtual

Implements Benchmark.

Definition at line 30 of file CreateBackendTextureBench.cpp.

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

◆ onPerCanvasPostDraw()

void CreateBackendTextureBench::onPerCanvasPostDraw ( SkCanvas canvas)
inlineoverrideprivatevirtual

Reimplemented from Benchmark.

Definition at line 53 of file CreateBackendTextureBench.cpp.

53 {
54 auto context = canvas->recordingContext()->asDirectContext();
55
56 context->flush();
57 context->submit(GrSyncCpu::kYes);
58
59 for (int i = 0; i < fBackendTextures.size(); ++i) {
60 if (fBackendTextures[i].isValid()) {
61 context->deleteBackendTexture(fBackendTextures[i]);
62 }
63 }
64 fBackendTextures.clear();
65 }
GrSemaphoresSubmitted flush(const GrFlushInfo &info)

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