skia2/tools/SkVMBuilders.h
Mike Klein 397fc88fc0 first VEX ymm vector ops
- 32x8 i32 add,sub,mul
   - add I32_Naive bench/test builder to get better i32 mul coverage
   - minor refactoring all over

Change-Id: I13cc19ff37a2da0bcff289ba51baac08f456d6c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222485
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-20 18:20:00 +00:00

34 lines
848 B
C

/*
* Copyright 2019 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkVMBuilders_DEFINED
#define SkVMBuilders_DEFINED
#include "src/core/SkVM.h"
// SkVM builders used by both SkVMBench.cpp and SkVMTest.cpp.
struct SrcoverBuilder_F32 : public skvm::Builder {
enum class Fmt { A8, G8, RGBA_8888 };
SrcoverBuilder_F32(Fmt srcFmt = Fmt::RGBA_8888,
Fmt dstFmt = Fmt::RGBA_8888);
};
struct SrcoverBuilder_I32_Naive : public skvm::Builder {
SrcoverBuilder_I32_Naive(); // 8888 over 8888
};
struct SrcoverBuilder_I32 : public skvm::Builder {
SrcoverBuilder_I32(); // 8888 over 8888
};
struct SrcoverBuilder_I32_SWAR : public skvm::Builder {
SrcoverBuilder_I32_SWAR(); // 8888 over 8888
};
#endif//SkVMBuilders_DEFINED