SkVMBuilders.h 848 B

123456789101112131415161718192021222324252627282930313233
  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. #ifndef SkVMBuilders_DEFINED
  8. #define SkVMBuilders_DEFINED
  9. #include "src/core/SkVM.h"
  10. // SkVM builders used by both SkVMBench.cpp and SkVMTest.cpp.
  11. struct SrcoverBuilder_F32 : public skvm::Builder {
  12. enum class Fmt { A8, G8, RGBA_8888 };
  13. SrcoverBuilder_F32(Fmt srcFmt = Fmt::RGBA_8888,
  14. Fmt dstFmt = Fmt::RGBA_8888);
  15. };
  16. struct SrcoverBuilder_I32_Naive : public skvm::Builder {
  17. SrcoverBuilder_I32_Naive(); // 8888 over 8888
  18. };
  19. struct SrcoverBuilder_I32 : public skvm::Builder {
  20. SrcoverBuilder_I32(); // 8888 over 8888
  21. };
  22. struct SrcoverBuilder_I32_SWAR : public skvm::Builder {
  23. SrcoverBuilder_I32_SWAR(); // 8888 over 8888
  24. };
  25. #endif//SkVMBuilders_DEFINED