#include "src/core/SkRasterPipeline.h"
#include "include/core/SkColorType.h"
#include "include/core/SkImageInfo.h"
#include "include/core/SkMatrix.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkTemplates.h"
#include "modules/skcms/skcms.h"
#include "src/base/SkVx.h"
#include "src/core/SkImageInfoPriv.h"
#include "src/core/SkOpts.h"
#include "src/core/SkRasterPipelineOpContexts.h"
#include "src/core/SkRasterPipelineOpList.h"
#include <algorithm>
#include <cstring>
#include <vector>
usingnamespaceskia_private;
Op;
bool gForceHighPrecisionRasterPipeline;
SkRasterPipeline::SkRasterPipeline(SkArenaAlloc* alloc) : … { … }
void SkRasterPipeline::reset() { … }
void SkRasterPipeline::append(SkRasterPipelineOp op, void* ctx) { … }
uint8_t* SkRasterPipeline::tailPointer() { … }
void SkRasterPipeline::uncheckedAppend(SkRasterPipelineOp op, void* ctx) { … }
void SkRasterPipeline::append(SkRasterPipelineOp op, uintptr_t ctx) { … }
void SkRasterPipeline::extend(const SkRasterPipeline& src) { … }
const char* SkRasterPipeline::GetOpName(SkRasterPipelineOp op) { … }
void SkRasterPipeline::dump() const { … }
void SkRasterPipeline::appendSetRGB(SkArenaAlloc* alloc, const float rgb[3]) { … }
void SkRasterPipeline::appendConstantColor(SkArenaAlloc* alloc, const float rgba[4]) { … }
void SkRasterPipeline::appendMatrix(SkArenaAlloc* alloc, const SkMatrix& matrix) { … }
void SkRasterPipeline::appendLoad(SkColorType ct, const SkRasterPipeline_MemoryCtx* ctx) { … }
void SkRasterPipeline::appendLoadDst(SkColorType ct, const SkRasterPipeline_MemoryCtx* ctx) { … }
void SkRasterPipeline::appendStore(SkColorType ct, const SkRasterPipeline_MemoryCtx* ctx) { … }
void SkRasterPipeline::appendTransferFunction(const skcms_TransferFunction& tf) { … }
void SkRasterPipeline::appendClampIfNormalized(const SkImageInfo& info) { … }
void SkRasterPipeline::appendStackRewind() { … }
static void prepend_to_pipeline(SkRasterPipelineStage*& ip, SkOpts::StageFn stageFn, void* ctx) { … }
bool SkRasterPipeline::buildLowpPipeline(SkRasterPipelineStage* ip) const { … }
void SkRasterPipeline::buildHighpPipeline(SkRasterPipelineStage* ip) const { … }
SkRasterPipeline::StartPipelineFn SkRasterPipeline::buildPipeline(SkRasterPipelineStage* ip) const { … }
int SkRasterPipeline::stagesNeeded() const { … }
void SkRasterPipeline::run(size_t x, size_t y, size_t w, size_t h) const { … }
std::function<void(size_t, size_t, size_t, size_t)> SkRasterPipeline::compile() const { … }
void SkRasterPipeline::addMemoryContext(SkRasterPipeline_MemoryCtx* ctx,
int bytesPerPixel,
bool load,
bool store) { … }