Flutter Engine
The Flutter Engine
Classes | Typedefs | Functions | Variables
FuzzDDLThreading.cpp File Reference
#include "fuzz/Fuzz.h"
#include "fuzz/FuzzCommon.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkExecutor.h"
#include "include/core/SkSize.h"
#include "include/core/SkSurface.h"
#include "include/gpu/GrDirectContext.h"
#include "include/gpu/ganesh/SkImageGanesh.h"
#include "include/gpu/ganesh/SkSurfaceGanesh.h"
#include "include/private/base/SkDeque.h"
#include "include/private/base/SkMutex.h"
#include "include/private/base/SkTemplates.h"
#include "include/private/base/SkThreadID.h"
#include "include/private/chromium/GrDeferredDisplayList.h"
#include "include/private/chromium/GrDeferredDisplayListRecorder.h"
#include "include/private/chromium/GrPromiseImageTexture.h"
#include "include/private/chromium/SkImageChromium.h"
#include "src/core/SkTaskGroup.h"
#include "src/gpu/ganesh/image/SkImage_Ganesh.h"
#include "tools/gpu/GrContextFactory.h"
#include <atomic>
#include <memory>
#include <queue>

Go to the source code of this file.

Classes

class  PromiseImageInfo
 
class  DDLFuzzer
 

Typedefs

using ContextType = sk_gpu_test::GrContextFactory::ContextType
 

Functions

template<typename T >
T make_fuzz_t (Fuzz *fuzz)
 
static sk_sp< GrPromiseImageTexturefuzz_promise_image_fulfill (void *ctxIn)
 
static void fuzz_promise_image_release (void *ctxIn)
 
 DEF_FUZZ (DDLThreadingGL, fuzz)
 

Variables

static constexpr int kPromiseImageCount = 8
 
static constexpr SkISize kPromiseImageSize {16, 16}
 
static constexpr int kPromiseImagesPerDDL = 4
 
static constexpr int kRecordingThreadCount = 4
 
static constexpr int kIterationCount = 10000
 

Typedef Documentation

◆ ContextType

Definition at line 35 of file FuzzDDLThreading.cpp.

Function Documentation

◆ DEF_FUZZ()

DEF_FUZZ ( DDLThreadingGL  ,
fuzz   
)

Definition at line 301 of file FuzzDDLThreading.cpp.

◆ fuzz_promise_image_fulfill()

static sk_sp< GrPromiseImageTexture > fuzz_promise_image_fulfill ( void *  ctxIn)
static

Definition at line 227 of file FuzzDDLThreading.cpp.

227 {
228 PromiseImageInfo& fuzzPromiseImage = *(PromiseImageInfo*)ctxIn;
229 return fuzzPromiseImage.fFuzzer->fulfillPromiseImage(fuzzPromiseImage);
230}
sk_sp< GrPromiseImageTexture > fulfillPromiseImage(PromiseImageInfo &)

◆ fuzz_promise_image_release()

static void fuzz_promise_image_release ( void *  ctxIn)
static

Definition at line 232 of file FuzzDDLThreading.cpp.

232 {
233 PromiseImageInfo& fuzzPromiseImage = *(PromiseImageInfo*)ctxIn;
234 fuzzPromiseImage.fFuzzer->releasePromiseImage(fuzzPromiseImage);
235}
void releasePromiseImage(PromiseImageInfo &)

◆ make_fuzz_t()

template<typename T >
T make_fuzz_t ( Fuzz fuzz)
inline

Definition at line 41 of file FuzzDDLThreading.cpp.

41 {
42 T t;
43 fuzz->next(&t);
44 return t;
45}
void next(T *t)
Definition: Fuzz.h:64
#define T
Definition: precompiler.cc:65

Variable Documentation

◆ kIterationCount

constexpr int kIterationCount = 10000
staticconstexpr

Definition at line 88 of file FuzzDDLThreading.cpp.

◆ kPromiseImageCount

constexpr int kPromiseImageCount = 8
staticconstexpr

Definition at line 84 of file FuzzDDLThreading.cpp.

◆ kPromiseImageSize

constexpr SkISize kPromiseImageSize {16, 16}
staticconstexpr

Definition at line 85 of file FuzzDDLThreading.cpp.

◆ kPromiseImagesPerDDL

constexpr int kPromiseImagesPerDDL = 4
staticconstexpr

Definition at line 86 of file FuzzDDLThreading.cpp.

◆ kRecordingThreadCount

constexpr int kRecordingThreadCount = 4
staticconstexpr

Definition at line 87 of file FuzzDDLThreading.cpp.