Skip to content

Commit

Permalink
Revert "Wrap SkShader::program calls with #ifdef SK_ENABLE_SKVM."
Browse files Browse the repository at this point in the history
This reverts commit 3acd1bf.

Reason for revert: Chrome not ready for it

Original change's description:
> Wrap SkShader::program calls with #ifdef SK_ENABLE_SKVM.
>
> Change-Id: I3ad69746ecd66c60d2b77fc6e2314727ade227bc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/674656
> Commit-Queue: Herb Derby <[email protected]>
> Reviewed-by: Herb Derby <[email protected]>
> Auto-Submit: John Stiles <[email protected]>

Change-Id: I849167b512d131e707734a90d0232e13762274e7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/675120
Bot-Commit: Rubber Stamper <[email protected]>
Auto-Submit: John Stiles <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
  • Loading branch information
johnstiles-google authored and SkCQ committed Apr 20, 2023
1 parent 3acd1bf commit 660953b
Show file tree
Hide file tree
Showing 22 changed files with 18 additions and 80 deletions.
8 changes: 2 additions & 6 deletions src/core/SkDraw_atlas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include "src/core/SkRasterPipelineOpList.h"
#include "src/core/SkScan.h"
#include "src/core/SkSurfacePriv.h"
#include "src/core/SkVM.h"
#include "src/core/SkVMBlitter.h"
#include "src/shaders/SkShaderBase.h"
#include "src/shaders/SkTransformShader.h"
Expand All @@ -44,13 +45,10 @@
#include <utility>

class SkBlitter;
class SkColorInfo;
class SkColorSpace;
enum class SkBlendMode;

#if defined(SK_ENABLE_SKVM)
#include "src/core/SkVM.h"
class SkColorInfo;
#endif

static void fill_rect(const SkMatrix& ctm, const SkRasterClip& rc,
const SkRect& r, SkBlitter* blitter, SkPath* scratchPath) {
Expand Down Expand Up @@ -83,7 +81,6 @@ class UpdatableColorShader : public SkShaderBase {
public:
explicit UpdatableColorShader(SkColorSpace* cs)
: fSteps{sk_srgb_singleton(), kUnpremul_SkAlphaType, cs, kUnpremul_SkAlphaType} {}
#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder* builder,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -100,7 +97,6 @@ class UpdatableColorShader : public SkShaderBase {

return {r, g, b, a};
}
#endif

void updateColor(SkColor c) const {
SkColor4f c4 = SkColor4f::FromColor(c);
Expand Down
11 changes: 1 addition & 10 deletions src/core/SkDraw_vertices.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
#include "src/core/SkRasterPipelineOpList.h"
#include "src/core/SkScan.h"
#include "src/core/SkSurfacePriv.h"
#include "src/core/SkVM.h"
#include "src/core/SkVMBlitter.h"
#include "src/core/SkVertState.h"
#include "src/core/SkVerticesPriv.h"
Expand All @@ -54,10 +55,6 @@

class SkBlitter;

#if defined(SK_ENABLE_SKVM)
#include "src/core/SkVM.h"
#endif

struct Matrix43 {
float fMat[12]; // column major

Expand Down Expand Up @@ -125,7 +122,6 @@ class SkTriColorShader : public SkShaderBase {
return true;
}

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord,
skvm::Coord,
Expand All @@ -134,7 +130,6 @@ class SkTriColorShader : public SkShaderBase {
const SkColorInfo&,
skvm::Uniforms*,
SkArenaAlloc*) const override;
#endif

private:
bool isOpaque() const override { return fIsOpaque; }
Expand All @@ -149,15 +144,12 @@ class SkTriColorShader : public SkShaderBase {
SkMatrix fM33;
const bool fIsOpaque;
const bool fUsePersp; // controls our stages, and what we do in update()
#if defined(SK_ENABLE_SKVM)
mutable skvm::Uniform fColorMatrix;
mutable skvm::Uniform fCoordMatrix;
#endif

using INHERITED = SkShaderBase;
};

#if defined(SK_ENABLE_SKVM)
skvm::Color SkTriColorShader::program(skvm::Builder* b,
skvm::Coord device,
skvm::Coord local,
Expand Down Expand Up @@ -198,7 +190,6 @@ skvm::Color SkTriColorShader::program(skvm::Builder* b,
color.a = colorDot(3);
return color;
}
#endif

bool SkTriColorShader::update(const SkMatrix& ctmInv, const SkPoint pts[],
const SkPMColor4f colors[], int index0, int index1, int index2) {
Expand Down
22 changes: 11 additions & 11 deletions src/core/SkRuntimeEffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ static void write_child_effects(SkWriteBuffer& buffer,
}
}

#ifdef SK_ENABLE_SKVM
#ifndef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
static std::vector<skvm::Val> make_skvm_uniforms(skvm::Builder* p,
skvm::Uniforms* uniforms,
size_t inputSize,
Expand Down Expand Up @@ -952,7 +952,6 @@ class RuntimeEffectVMCallbacks : public SkSL::SkVMCallbacks {
, fColorInfo(colorInfo) {}

skvm::Color sampleShader(int ix, skvm::Coord coord) override {
#if defined(SK_ENABLE_SKVM)
// We haven't tracked device coords and the runtime effect could have arbitrarily
// manipulated the passed coords. We should be in a state where any pending matrix was
// already applied before the runtime effect's code could have manipulated the coords
Expand All @@ -969,7 +968,6 @@ class RuntimeEffectVMCallbacks : public SkSL::SkVMCallbacks {
fUniforms,
fAlloc);
}
#endif
return fInColor;
}

Expand Down Expand Up @@ -1093,7 +1091,9 @@ class SkRuntimeColorFilter : public SkColorFilterBase {
skvm::Color onProgram(skvm::Builder* p, skvm::Color c,
const SkColorInfo& colorInfo,
skvm::Uniforms* uniforms, SkArenaAlloc* alloc) const override {
#ifdef SK_ENABLE_SKVM
#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
return {};
#else
SkASSERT(SkRuntimeEffectPriv::CanDraw(SkCapabilities::RasterBackend().get(),
fEffect.get()));

Expand All @@ -1115,8 +1115,6 @@ class SkRuntimeColorFilter : public SkColorFilterBase {
return SkSL::ProgramToSkVM(*fEffect->fBaseProgram, fEffect->fMain, p,/*debugTrace=*/nullptr,
SkSpan(uniform), /*device=*/zeroCoord, /*local=*/zeroCoord,
c, c, &callbacks);
#else
return {};
#endif
}

Expand Down Expand Up @@ -1317,7 +1315,6 @@ class SkRTShader : public SkShaderBase {
return false;
}

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder* p,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -1326,6 +1323,9 @@ class SkRTShader : public SkShaderBase {
const SkColorInfo& colorInfo,
skvm::Uniforms* uniforms,
SkArenaAlloc* alloc) const override {
#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
return {};
#else
if (!SkRuntimeEffectPriv::CanDraw(SkCapabilities::RasterBackend().get(), fEffect.get())) {
return {};
}
Expand Down Expand Up @@ -1357,8 +1357,8 @@ class SkRTShader : public SkShaderBase {

return SkSL::ProgramToSkVM(*fEffect->fBaseProgram, fEffect->fMain, p, fDebugTrace.get(),
SkSpan(uniform), device, local, paint, paint, &callbacks);
}
#endif
}

void flatten(SkWriteBuffer& buffer) const override {
buffer.writeString(fEffect->source().c_str());
Expand Down Expand Up @@ -1475,7 +1475,9 @@ class SkRuntimeBlender : public SkBlenderBase {
skvm::Color onProgram(skvm::Builder* p, skvm::Color src, skvm::Color dst,
const SkColorInfo& colorInfo, skvm::Uniforms* uniforms,
SkArenaAlloc* alloc) const override {
#ifdef SK_ENABLE_SKVM
#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
return {};
#else
if (!SkRuntimeEffectPriv::CanDraw(SkCapabilities::RasterBackend().get(), fEffect.get())) {
return {};
}
Expand All @@ -1496,8 +1498,6 @@ class SkRuntimeBlender : public SkBlenderBase {
return SkSL::ProgramToSkVM(*fEffect->fBaseProgram, fEffect->fMain, p,/*debugTrace=*/nullptr,
SkSpan(uniform), /*device=*/zeroCoord, /*local=*/zeroCoord,
src, dst, &callbacks);
#else
return {};
#endif
}

Expand Down
3 changes: 1 addition & 2 deletions src/shaders/SkColorFilterShader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ bool SkColorFilterShader::appendStages(const SkStageRec& rec, const MatrixRec& m
return true;
}

#if defined(SK_ENABLE_SKVM)
skvm::Color SkColorFilterShader::program(skvm::Builder* p,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -94,7 +93,7 @@ skvm::Color SkColorFilterShader::program(skvm::Builder* p,
// Finally run that through the color filter.
return fFilter->program(p,c, dst, uniforms,alloc);
}
#endif

#if defined(SK_GANESH)
/////////////////////////////////////////////////////////////////////

Expand Down
2 changes: 0 additions & 2 deletions src/shaders/SkColorFilterShader.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ class SkColorFilterShader : public SkShaderBase {
void flatten(SkWriteBuffer&) const override;
bool appendStages(const SkStageRec&, const MatrixRec&) const override;

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -41,7 +40,6 @@ class SkColorFilterShader : public SkShaderBase {
const SkColorInfo& dst,
skvm::Uniforms* uniforms,
SkArenaAlloc*) const override;
#endif

SK_FLATTENABLE_HOOKS(SkColorFilterShader)

Expand Down
7 changes: 0 additions & 7 deletions src/shaders/SkColorShader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ class SkColorShader : public SkShaderBase {

bool appendStages(const SkStageRec&, const MatrixRec&) const override;

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -73,7 +72,6 @@ class SkColorShader : public SkShaderBase {
const SkColorInfo& dst,
skvm::Uniforms* uniforms,
SkArenaAlloc*) const override;
#endif

SkColor fColor;
};
Expand Down Expand Up @@ -102,7 +100,6 @@ class SkColor4Shader : public SkShaderBase {
void flatten(SkWriteBuffer&) const override;
bool appendStages(const SkStageRec&, const MatrixRec&) const override;

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -111,7 +108,6 @@ class SkColor4Shader : public SkShaderBase {
const SkColorInfo& dst,
skvm::Uniforms* uniforms,
SkArenaAlloc*) const override;
#endif

sk_sp<SkColorSpace> fColorSpace;
const SkColor4f fColor;
Expand Down Expand Up @@ -189,7 +185,6 @@ bool SkColor4Shader::appendStages(const SkStageRec& rec, const MatrixRec&) const
return true;
}

#if defined(SK_ENABLE_SKVM)
skvm::Color SkColorShader::program(skvm::Builder* p,
skvm::Coord /*device*/,
skvm::Coord /*local*/,
Expand All @@ -203,7 +198,6 @@ skvm::Color SkColorShader::program(skvm::Builder* p,
dst.colorSpace(), kPremul_SkAlphaType).apply(color.vec());
return p->uniformColor(color, uniforms);
}

skvm::Color SkColor4Shader::program(skvm::Builder* p,
skvm::Coord /*device*/,
skvm::Coord /*local*/,
Expand All @@ -217,7 +211,6 @@ skvm::Color SkColor4Shader::program(skvm::Builder* p,
dst.colorSpace(), kPremul_SkAlphaType).apply(color.vec());
return p->uniformColor(color, uniforms);
}
#endif // defined(SK_ENABLE_SKVM)

#if defined(SK_GANESH)

Expand Down
5 changes: 0 additions & 5 deletions src/shaders/SkComposeShader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ class SkShader_Blend final : public SkShaderBase {
SkShader_Blend(SkReadBuffer&);
void flatten(SkWriteBuffer&) const override;
bool appendStages(const SkStageRec&, const MatrixRec&) const override;

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -58,7 +56,6 @@ class SkShader_Blend final : public SkShaderBase {
const SkColorInfo& dst,
skvm::Uniforms*,
SkArenaAlloc*) const override;
#endif // defined(SK_ENABLE_SKVM)

private:
friend void ::SkRegisterComposeShaderFlattenable();
Expand Down Expand Up @@ -142,7 +139,6 @@ bool SkShader_Blend::appendStages(const SkStageRec& rec, const MatrixRec& mRec)
return true;
}

#if defined(SK_ENABLE_SKVM)
skvm::Color SkShader_Blend::program(skvm::Builder* p,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -158,7 +154,6 @@ skvm::Color SkShader_Blend::program(skvm::Builder* p,
}
return {};
}
#endif

#if defined(SK_GANESH)

Expand Down
4 changes: 0 additions & 4 deletions src/shaders/SkCoordClampShader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ class SkShader_CoordClamp final : public SkShaderBase {
SkShader_CoordClamp(SkReadBuffer&);
void flatten(SkWriteBuffer&) const override;
bool appendStages(const SkStageRec&, const MatrixRec&) const override;
#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -55,7 +54,6 @@ class SkShader_CoordClamp final : public SkShaderBase {
const SkColorInfo& dst,
skvm::Uniforms*,
SkArenaAlloc*) const override;
#endif

private:
friend void ::SkRegisterCoordClampShaderFlattenable();
Expand Down Expand Up @@ -93,7 +91,6 @@ bool SkShader_CoordClamp::appendStages(const SkStageRec& rec, const MatrixRec& m
return as_SB(fShader)->appendStages(rec, *childMRec);
}

#if defined(SK_ENABLE_SKVM)
skvm::Color SkShader_CoordClamp::program(skvm::Builder* p,
skvm::Coord device,
skvm::Coord local,
Expand All @@ -118,7 +115,6 @@ skvm::Color SkShader_CoordClamp::program(skvm::Builder* p,

return as_SB(fShader)->program(p, device, local, paint, *childMRec, cinfo, uniforms, alloc);
}
#endif

#if defined(SK_GANESH)
std::unique_ptr<GrFragmentProcessor> SkShader_CoordClamp::asFragmentProcessor(
Expand Down
4 changes: 0 additions & 4 deletions src/shaders/SkEmptyShader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ class SkEmptyShader : public SkShaderBase {

bool appendStages(const SkStageRec&, const MatrixRec&) const override { return false; }

#if defined(SK_ENABLE_SKVM)
skvm::Color program(skvm::Builder*,
skvm::Coord,
skvm::Coord,
Expand All @@ -36,7 +35,6 @@ class SkEmptyShader : public SkShaderBase {
const SkColorInfo&,
skvm::Uniforms*,
SkArenaAlloc*) const override;
#endif

private:
friend void ::SkRegisterEmptyShaderFlattenable();
Expand All @@ -45,7 +43,6 @@ class SkEmptyShader : public SkShaderBase {
using INHERITED = SkShaderBase;
};

#if defined(SK_ENABLE_SKVM)
skvm::Color SkEmptyShader::program(skvm::Builder*,
skvm::Coord,
skvm::Coord,
Expand All @@ -56,7 +53,6 @@ skvm::Color SkEmptyShader::program(skvm::Builder*,
SkArenaAlloc*) const {
return {}; // signal failure
}
#endif

sk_sp<SkFlattenable> SkEmptyShader::CreateProc(SkReadBuffer&) {
return SkShaders::Empty();
Expand Down
2 changes: 0 additions & 2 deletions src/shaders/SkImageShader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -854,7 +854,6 @@ bool SkImageShader::appendStages(const SkStageRec& rec, const MatrixRec& mRec) c
return append_misc();
}

#if defined(SK_ENABLE_SKVM)
skvm::Color SkImageShader::program(skvm::Builder* p,
skvm::Coord device,
skvm::Coord origLocal,
Expand Down Expand Up @@ -1143,4 +1142,3 @@ skvm::Color SkImageShader::program(skvm::Builder* p,
: SkColorSpaceXformSteps{cs, at, dst.colorSpace(), dst.alphaType()}.program(
p, uniforms, c);
}
#endif
Loading

0 comments on commit 660953b

Please sign in to comment.