40 PTS = (ROW + 1) * (COL + 1),
50 static void load_2_tris(uint16_t idx[],
int x,
int y,
int rb) {
52 idx[0] = n; idx[1] = n + 1; idx[2] = rb + n + 1;
53 idx[3] = n; idx[4] = rb + n + 1; idx[5] = n + rb;
76 for (
int y = 0;
y <= ROW;
y++) {
78 for (
int x = 0;
x <= COL; ++
x) {
83 if (
x < COL &&
y < ROW) {
84 load_2_tris(idx,
x,
y, COL + 1);
85 for (
int i = 0; i < 6; i++) {
102 for (
int i = 0; i < PTS; ++i) {
103 fColors[i] = rand.
nextU() | (0xFF << 24);
108 fName.append(
"_textures");
111 fName.append(
"_colors");
114 fName.append(
"_persp");
117 fName.append(
"_bilerp");
126 paint.setShader(fShader);
135 fPts, texs, cols, IDX, fIdx);
136 for (
int i = 0; i < loops; i++) {
154#include
"include/core/SkRSXform.h"
155#include
"src/base/SkRandom.h"
156#include
"tools/Resources.h"
180 fName.printf(
"drawAtlas");
182 fName.append(
"_colors");
185 fName.append(
"_rotated");
188 fName.append(
"_persp");
198 fAtlas = fAtlas->makeRasterImage();
201 const SkScalar imageW = fAtlas->width();
202 const SkScalar imageH = fAtlas->height();
206 scos = 0.866025403784439f;
211 for (
int i = 0; i < N; ++i) {
213 rand.
nextF() * (imageH - 8), 8, 8);
214 fColors[i] = rand.
nextU() | 0xFF000000;
219 const SkRect* cullRect =
nullptr;
220 const SkPaint* paintPtr =
nullptr;
221 const SkColor* colors =
nullptr;
228 for (
int i = 0; i < loops; i++) {
static void tiny_persp_effect(SkCanvas *canvas)
void onDelayedSetup() override
const char * onGetName() override
AtlasBench(unsigned flags)
void onDraw(int loops, SkCanvas *canvas) override
virtual void setupPaint(SkPaint *paint)
void drawAtlas(const SkImage *atlas, const SkRSXform xform[], const SkRect tex[], const SkColor colors[], int count, SkBlendMode mode, const SkSamplingOptions &sampling, const SkRect *cullRect, const SkPaint *paint)
void concat(const SkMatrix &matrix)
void drawVertices(const SkVertices *vertices, SkBlendMode mode, const SkPaint &paint)
static sk_sp< SkVertices > MakeCopy(VertexMode mode, int vertexCount, const SkPoint positions[], const SkPoint texs[], const SkColor colors[], int indexCount, const uint16_t indices[])
const char * onGetName() override
void onDelayedSetup() override
VertBench(unsigned flags)
void onDraw(int loops, SkCanvas *canvas) override
FlutterSemanticsFlag flags
void set(float x, float y)
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)