Flutter Engine
The Flutter Engine
|
#include "fuzz/Fuzz.h"
#include "fuzz/FuzzCommon.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkPaint.h"
#include "include/core/SkShader.h"
#include "include/core/SkSurface.h"
#include "include/effects/SkRuntimeEffect.h"
#include "include/private/base/SkTArray.h"
#include "src/gpu/ganesh/GrShaderCaps.h"
Go to the source code of this file.
Functions | |
static bool | FuzzSkRuntimeBlender_Once (const SkString &shaderText, const SkRuntimeEffect::Options &options) |
bool | FuzzSkRuntimeBlender (const uint8_t *data, size_t size) |
bool FuzzSkRuntimeBlender | ( | const uint8_t * | data, |
size_t | size | ||
) |
Definition at line 59 of file FuzzSkRuntimeBlender.cpp.
|
static |
The fuzzer treats the input bytes as an SkSL blend program. The requested number of uniforms and children are automatically synthesized to match the program's needs.
We fuzz twice, with two different settings for inlining in the SkSL compiler. By default, the compiler inlines most small to medium functions. This can hide bugs related to function-calling. So we run the fuzzer once with inlining disabled, and again with it enabled. This gives us better coverage, and eases the burden on the fuzzer to inject useless noise into functions to suppress inlining.
Definition at line 30 of file FuzzSkRuntimeBlender.cpp.