8#ifndef SkRasterPipeline_DEFINED
9#define SkRasterPipeline_DEFINED
29#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
30 !defined(SK_CPU_LOONGARCH)
31 #define SK_HAS_MUSTTAIL 1
33 #define SK_HAS_MUSTTAIL 0
88 void run(
size_t x,
size_t y,
size_t w,
size_t h)
const;
136 bool empty()
const {
return fStages ==
nullptr; }
142 using StartPipelineFn = void (*)(size_t, size_t, size_t, size_t,
149 int stagesNeeded()
const;
152 uint8_t* tailPointer();
157 uint8_t* fTailPointer;
165template <
size_t bytes>
static const uint32_t rgba[kNumPixels]
#define SK_BEGIN_REQUIRE_DENSE
#define SK_END_REQUIRE_DENSE
void appendClampIfNormalized(const SkImageInfo &)
void run(size_t x, size_t y, size_t w, size_t h) const
void appendTransferFunction(const skcms_TransferFunction &)
void append(SkRasterPipelineOp op, const void *ctx)
void appendSetRGB(SkArenaAlloc *alloc, const SkColor4f &color)
void appendLoad(SkColorType, const SkRasterPipeline_MemoryCtx *)
SkRasterPipeline & operator=(const SkRasterPipeline &)=delete
void appendStore(SkColorType, const SkRasterPipeline_MemoryCtx *)
SkRasterPipeline(SkArenaAlloc *)
void append(SkRasterPipelineOp, void *=nullptr)
void appendSetRGB(SkArenaAlloc *, const float rgb[3])
static const char * GetOpName(SkRasterPipelineOp op)
SkRasterPipeline & operator=(SkRasterPipeline &&)=default
std::function< void(size_t, size_t, size_t, size_t)> compile() const
void extend(const SkRasterPipeline &)
SkRasterPipeline(const SkRasterPipeline &)=delete
void appendLoadDst(SkColorType, const SkRasterPipeline_MemoryCtx *)
SkRasterPipeline(SkRasterPipeline &&)=default
void appendConstantColor(SkArenaAlloc *, const float rgba[4])
void appendConstantColor(SkArenaAlloc *alloc, const SkColor4f &color)
void appendMatrix(SkArenaAlloc *, const SkMatrix &)
const StageList * getStageList() const
Dart_NativeFunction function