1 /* 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 15 struct 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 21 struct SrcoverBuilder_I32_Naive : public skvm::Builder { 22 SrcoverBuilder_I32_Naive(); // 8888 over 8888 23 }; 24 25 struct SrcoverBuilder_I32 : public skvm::Builder { 26 SrcoverBuilder_I32(); // 8888 over 8888 27 }; 28 29 struct SrcoverBuilder_I32_SWAR : public skvm::Builder { 30 SrcoverBuilder_I32_SWAR(); // 8888 over 8888 31 }; 32 33 #endif//SkVMBuilders_DEFINED 34