Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Functions | Variables
ColorFilterBench.cpp File Reference
#include "bench/Benchmark.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkColorFilter.h"
#include "include/core/SkSurface.h"
#include "include/effects/SkHighContrastFilter.h"
#include "include/effects/SkImageFilters.h"
#include "include/effects/SkOverdrawColorFilter.h"
#include "include/effects/SkRuntimeEffect.h"
#include "src/core/SkColorFilterPriv.h"
#include "tools/DecodeUtils.h"
#include "tools/Resources.h"
#include <functional>

Go to the source code of this file.

Classes

class  FilteredRectBench
 
class  FilterColorBench
 

Functions

static sk_sp< SkColorFiltermake_grayscale ()
 
static sk_sp< SkColorFiltermake_grayscale_rt ()
 
 DEF_BENCH (return new ColorFilterBench("none", []() { return sk_sp< SkColorFilter >(nullptr);});) DEF_BENCH(return new ColorFilterBench("blend_src"
 
 DEF_BENCH (return new ColorFilterBench("blend_srcover", []() { return SkColorFilters::Blend(0x80808080, SkBlendMode::kSrcOver);});) DEF_BENCH(return new ColorFilterBench("linear_to_srgb"
 
 DEF_BENCH (return new ColorFilterBench("srgb_to_linear", []() { return SkColorFilters::SRGBToLinearGamma();});) DEF_BENCH(return new ColorFilterBench("matrix_rgba"
 
 DEF_BENCH (return new ColorFilterBench("matrix_hsla", []() { return SkColorFilters::HSLAMatrix(kColorMatrix);});) DEF_BENCH(return new ColorFilterBench("compose_src"
 
 DEF_BENCH (return new ColorFilterBench("lerp_src", []() { return SkColorFilters::Lerp(0.3f, SkColorFilters::Blend(0x80808080, SkBlendMode::kSrc), SkColorFilters::Blend(0x80808080, SkBlendMode::kSrc));});) DEF_BENCH(return new ColorFilterBench("highcontrast"
 
 DEF_BENCH (return new ColorFilterBench("overdraw", []() { const SkColor colors[SkOverdrawColorFilter::kNumColors]={ 0x80FF0000, 0x8000FF00, 0x800000FF, 0x80FFFF00, 0x8000FFFF, 0x80FF00FF, };return SkOverdrawColorFilter::MakeWithSkColors(colors);});) DEF_BENCH(return new ColorFilterBench("gaussian"
 

Variables

static constexpr char kRuntimeNone_GPU_SRC []
 
static constexpr char kRuntimeColorMatrix_GPU_SRC []
 
static constexpr float kGrayscaleMatrix []
 

Function Documentation

◆ DEF_BENCH() [1/6]

DEF_BENCH ( return new ColorFilterBench("blend_srcover", []() { return SkColorFilters::Blend(0x80808080, SkBlendMode::kSrcOver);});   )
new

◆ DEF_BENCH() [2/6]

DEF_BENCH ( return new ColorFilterBench("lerp_src", []() { return SkColorFilters::Lerp(0.3f, SkColorFilters::Blend(0x80808080, SkBlendMode::kSrc), SkColorFilters::Blend(0x80808080, SkBlendMode::kSrc));});   )
new

◆ DEF_BENCH() [3/6]

DEF_BENCH ( return new ColorFilterBench("matrix_hsla", []() { return SkColorFilters::HSLAMatrix(kColorMatrix);});   )
new

◆ DEF_BENCH() [4/6]

DEF_BENCH ( return new ColorFilterBench("none", []() { return sk_sp< SkColorFilter >(nullptr);});   )
new

◆ DEF_BENCH() [5/6]

DEF_BENCH ( return new ColorFilterBench("overdraw", []() { const SkColor colors[SkOverdrawColorFilter::kNumColors]={ 0x80FF0000, 0x8000FF00, 0x800000FF, 0x80FFFF00, 0x8000FFFF, 0x80FF00FF, };return SkOverdrawColorFilter::MakeWithSkColors(colors);});   )
new

◆ DEF_BENCH() [6/6]

DEF_BENCH ( return new ColorFilterBench("srgb_to_linear", []() { return SkColorFilters::SRGBToLinearGamma();});   )
new

◆ make_grayscale()

static sk_sp< SkColorFilter > make_grayscale ( )
static

Definition at line 55 of file ColorFilterBench.cpp.

55 {
57}
static constexpr float kGrayscaleMatrix[]
static sk_sp< SkColorFilter > Matrix(const SkColorMatrix &)

◆ make_grayscale_rt()

static sk_sp< SkColorFilter > make_grayscale_rt ( )
static

Definition at line 59 of file ColorFilterBench.cpp.

59 {
62 return effect->makeColorFilter(
64}
static constexpr char kRuntimeColorMatrix_GPU_SRC[]
static sk_sp< SkData > MakeWithCopy(const void *data, size_t length)
Definition SkData.cpp:111
static Result MakeForColorFilter(SkString sksl, const Options &)
sk_sp< SkRuntimeEffect > effect

Variable Documentation

◆ kGrayscaleMatrix

constexpr float kGrayscaleMatrix[]
staticconstexpr
Initial value:
= {
0.2126f, 0.7152f, 0.0722f, 0.0f, 0.0f,
0.2126f, 0.7152f, 0.0722f, 0.0f, 0.0f,
0.2126f, 0.7152f, 0.0722f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
}

Definition at line 47 of file ColorFilterBench.cpp.

47 {
48 0.2126f, 0.7152f, 0.0722f, 0.0f, 0.0f,
49 0.2126f, 0.7152f, 0.0722f, 0.0f, 0.0f,
50 0.2126f, 0.7152f, 0.0722f, 0.0f, 0.0f,
51 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
52};

◆ kRuntimeColorMatrix_GPU_SRC

constexpr char kRuntimeColorMatrix_GPU_SRC[]
staticconstexpr
Initial value:
= R"(
// WTB matrix/vector inputs.
uniform half m0 , m1 , m2 , m3 , m4 ,
m5 , m6 , m7 , m8 , m9 ,
m10, m11, m12, m13, m14,
m15, m16, m17, m18, m19;
half4 main(half4 inColor) {
half4 c = unpremul(inColor);
half4x4 m = half4x4(m0, m5, m10, m15,
m1, m6, m11, m16,
m2, m7, m12, m17,
m3, m8, m13, m18);
c = m * c + half4 (m4, m9, m14, m19);
c = saturate(c);
c.rgb *= c.a;
return c;
}
)"

Definition at line 26 of file ColorFilterBench.cpp.

◆ kRuntimeNone_GPU_SRC

constexpr char kRuntimeNone_GPU_SRC[]
staticconstexpr
Initial value:
= R"(
half4 main(half4 inColor) { return inColor; }
)"

Definition at line 22 of file ColorFilterBench.cpp.