blob: 261c423823b6c726733b5afe1814c13ab55a04a3 [file] [log] [blame]
Mike Klein7b7077c2019-06-03 17:10:59 -05001/*
2 * Copyright 2019 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkVMBuilders_DEFINED
9#define SkVMBuilders_DEFINED
10
11#include "src/core/SkVM.h"
12
13// SkVM builders used by both SkVMBench.cpp and SkVMTest.cpp.
14
15struct SrcoverBuilder_F32 : public skvm::Builder {
16 enum class Fmt { A8, G8, RGBA_8888 };
17 SrcoverBuilder_F32(Fmt srcFmt = Fmt::RGBA_8888,
18 Fmt dstFmt = Fmt::RGBA_8888);
19};
20
Mike Klein397fc882019-06-20 11:37:10 -050021struct SrcoverBuilder_I32_Naive : public skvm::Builder {
22 SrcoverBuilder_I32_Naive(); // 8888 over 8888
23};
24
Mike Klein7b7077c2019-06-03 17:10:59 -050025struct SrcoverBuilder_I32 : public skvm::Builder {
26 SrcoverBuilder_I32(); // 8888 over 8888
27};
28
29struct SrcoverBuilder_I32_SWAR : public skvm::Builder {
30 SrcoverBuilder_I32_SWAR(); // 8888 over 8888
31};
32
33#endif//SkVMBuilders_DEFINED