Remove SK_ENABLE_SKSL_IN_RASTER_PIPELINE.
This flag was added to allow us to transition from SkVM to SkRP.
We don't plan on supporting a build of Skia that omits SkSL, so
there's no reason to disable SK_ENABLE_SKSL_IN_RASTER_PIPELINE.
(This would cause various effects to stop painting.)
Bug: b/294209201
Change-Id: I61b9868413266f3b6e7f65408f0188eebee01f05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/736880
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index a5ee5b2..790a828 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -48,9 +48,6 @@
if (skia_enable_sksl) {
defines += [ "SK_ENABLE_SKSL" ]
}
- if (skia_enable_sksl_in_raster_pipeline) {
- defines += [ "SK_ENABLE_SKSL_IN_RASTER_PIPELINE" ]
- }
if (skia_enable_precompile) {
defines += [ "SK_ENABLE_PRECOMPILE" ]
}
@@ -750,7 +747,6 @@
"SKSL_ENABLE_TRACING",
"SKSL_STANDALONE",
"SK_DISABLE_TRACING",
- "SK_ENABLE_SKSL_IN_RASTER_PIPELINE",
"SK_ENABLE_SPIRV_CROSS",
"SK_ENABLE_SPIRV_VALIDATION",
"SK_ENABLE_WGSL_VALIDATION",
diff --git a/bench/SkSLBench.cpp b/bench/SkSLBench.cpp
index 35408ec..67b7a99 100644
--- a/bench/SkSLBench.cpp
+++ b/bench/SkSLBench.cpp
@@ -60,9 +60,7 @@
kGLSL,
kMetal,
kSPIRV,
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
kSkRP,
-#endif
};
class SkSLCompileBench : public Benchmark {
@@ -73,9 +71,7 @@
case Output::kGLSL: return "glsl_";
case Output::kMetal: return "metal_";
case Output::kSPIRV: return "spirv_";
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
case Output::kSkRP: return "skrp_";
-#endif
}
SkUNREACHABLE;
}
@@ -142,14 +138,11 @@
case Output::kGLSL: SkAssertResult(fCompiler.toGLSL(*program, &result)); break;
case Output::kMetal: SkAssertResult(fCompiler.toMetal(*program, &result)); break;
case Output::kSPIRV: SkAssertResult(fCompiler.toSPIRV(*program, &result)); break;
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
case Output::kSkRP: SkAssertResult(CompileToSkRP(*program)); break;
-#endif
}
}
}
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
static bool CompileToSkRP(const SkSL::Program& program) {
const SkSL::FunctionDeclaration* main = program.getFunction("main");
if (!main) {
@@ -179,7 +172,6 @@
/*uniforms=*/SkSpan{uniformBuffer, rasterProg->numUniforms()});
return true;
}
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
private:
std::string fName;
@@ -194,13 +186,6 @@
///////////////////////////////////////////////////////////////////////////////
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
- #define COMPILER_BENCH_SKRP(name, text) \
- DEF_BENCH(return new SkSLCompileBench(#name, name##_SRC, /*optimize=*/true, Output::kSkRP);)
-#else
- #define COMPILER_BENCH_SKRP(name, text) /* SkRP is disabled; no benchmarking */
-#endif
-
#define COMPILER_BENCH(name, text) \
static constexpr char name ## _SRC[] = text; \
DEF_BENCH(return new SkSLCompileBench(#name, name##_SRC, /*optimize=*/false, Output::kNone);) \
@@ -208,7 +193,7 @@
DEF_BENCH(return new SkSLCompileBench(#name, name##_SRC, /*optimize=*/true, Output::kGLSL);) \
DEF_BENCH(return new SkSLCompileBench(#name, name##_SRC, /*optimize=*/true, Output::kMetal);) \
DEF_BENCH(return new SkSLCompileBench(#name, name##_SRC, /*optimize=*/true, Output::kSPIRV);) \
- COMPILER_BENCH_SKRP(name, text)
+ DEF_BENCH(return new SkSLCompileBench(#name, name##_SRC, /*optimize=*/true, Output::kSkRP);)
// This fragment shader is from the third tile on the top row of GM_gradients_2pt_conical_outside.
// To get an ES2 compatible shader, nonconstantArrayIndexSupport in GrShaderCaps is forced off.
diff --git a/gn/skia.gni b/gn/skia.gni
index a15c6d4..89fb5d2 100644
--- a/gn/skia.gni
+++ b/gn/skia.gni
@@ -106,7 +106,6 @@
}
declare_args() {
- skia_enable_sksl_in_raster_pipeline = !skia_enable_skvm
skia_enable_sksl_tracing = is_skia_dev_build && !skia_enable_optimize_size
}
diff --git a/src/core/SkRasterPipelineOpList.h b/src/core/SkRasterPipelineOpList.h
index 2b3cc06..cea462b 100644
--- a/src/core/SkRasterPipelineOpList.h
+++ b/src/core/SkRasterPipelineOpList.h
@@ -53,9 +53,6 @@
M(swizzle)
// `SK_RASTER_PIPELINE_OPS_SKSL` defines ops used by SkSL.
-// This set can be empty if software SkSL (SK_ENABLE_SKSL_IN_RASTER_PIPELINE) is not enabled.
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
#define SK_RASTER_PIPELINE_OPS_SKSL(M) \
M(init_lane_masks) M(store_device_xy01) M(exchange_src) \
M(load_condition_mask) M(store_condition_mask) \
@@ -151,10 +148,6 @@
M(cmpne_n_ints) M(cmpne_int) M(cmpne_2_ints) M(cmpne_3_ints) M(cmpne_4_ints) \
M(trace_line) M(trace_var) M(trace_enter) M(trace_exit) M(trace_scope)
-#else
-#define SK_RASTER_PIPELINE_OPS_SKSL(M)
-#endif
-
// `SK_RASTER_PIPELINE_OPS_HIGHP_ONLY` defines ops that are only available in highp; this subset
// includes all of SkSL.
#define SK_RASTER_PIPELINE_OPS_HIGHP_ONLY(M) \
diff --git a/src/core/SkRuntimeBlender.cpp b/src/core/SkRuntimeBlender.cpp
index d1d92b3..5f21841 100644
--- a/src/core/SkRuntimeBlender.cpp
+++ b/src/core/SkRuntimeBlender.cpp
@@ -62,7 +62,6 @@
}
bool SkRuntimeBlender::onAppendStages(const SkStageRec& rec) const {
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
if (!SkRuntimeEffectPriv::CanDraw(SkCapabilities::RasterBackend().get(), fEffect.get())) {
// SkRP has support for many parts of #version 300 already, but for now, we restrict its
// usage in runtime effects to just #version 100.
@@ -81,7 +80,6 @@
bool success = program->appendStages(rec.fPipeline, rec.fAlloc, &callbacks, uniforms);
return success;
}
-#endif
return false;
}
diff --git a/src/core/SkRuntimeEffect.cpp b/src/core/SkRuntimeEffect.cpp
index b08c0aa..2af405a 100644
--- a/src/core/SkRuntimeEffect.cpp
+++ b/src/core/SkRuntimeEffect.cpp
@@ -48,6 +48,7 @@
#include "src/sksl/SkSLUtil.h"
#include "src/sksl/analysis/SkSLProgramUsage.h"
#include "src/sksl/codegen/SkSLRasterPipelineBuilder.h"
+#include "src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h"
#include "src/sksl/ir/SkSLFunctionDeclaration.h"
#include "src/sksl/ir/SkSLLayout.h"
#include "src/sksl/ir/SkSLModifierFlags.h"
@@ -61,17 +62,12 @@
#include <algorithm>
+using namespace skia_private;
+
class SkColorSpace;
struct SkIPoint;
-// Set `skia_enable_sksl_in_raster_pipeline = true` in your GN args to use Raster Pipeline SkSL.
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-#include "src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h"
-
constexpr bool kRPEnableLiveTrace = false;
-#endif
-
-using namespace skia_private;
#if defined(SK_BUILD_FOR_DEBUGGER)
#define SK_LENIENT_SKSL_DESERIALIZATION 1
@@ -203,7 +199,6 @@
// By using an SkOnce, we avoid thread hazards and behave in a conceptually const way, but we
// can avoid the cost of invoking the RP code generator until it's actually needed.
fCompileRPProgramOnce([&] {
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
// We generally do not run the inliner when an SkRuntimeEffect program is initially created,
// because the final compile to native shader code will do this. However, in SkRP, there's
// no additional compilation occurring, so we need to manually inline here if we want the
@@ -237,7 +232,6 @@
SkDebugf("----- RP unsupported -----\n\n");
}
}
-#endif
});
return fRPProgram.get();
@@ -267,7 +261,6 @@
originalData->size() / sizeof(float)};
}
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
bool RuntimeEffectRPCallbacks::appendShader(int index) {
if (SkShader* shader = fChildren[index].shader()) {
if (fSampleUsages[index].isPassThrough()) {
@@ -335,7 +328,6 @@
// Restore the execution mask, and move the color back into program data.
fStage.fPipeline->append(SkRasterPipelineOp::exchange_src, color);
}
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
bool SkRuntimeEffectPriv::CanDraw(const SkCapabilities* caps, const SkSL::Program* program) {
SkASSERT(caps && program);
diff --git a/src/core/SkRuntimeEffectPriv.h b/src/core/SkRuntimeEffectPriv.h
index 4531f86..763adb7 100644
--- a/src/core/SkRuntimeEffectPriv.h
+++ b/src/core/SkRuntimeEffectPriv.h
@@ -15,6 +15,7 @@
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkSpan_impl.h"
#include "include/private/base/SkTArray.h"
+#include "src/sksl/codegen/SkSLRasterPipelineBuilder.h"
#include <cstddef>
#include <cstdint>
@@ -23,10 +24,6 @@
#include "include/sksl/SkSLVersion.h"
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-#include "src/sksl/codegen/SkSLRasterPipelineBuilder.h"
-#endif
-
class SkArenaAlloc;
class SkCapabilities;
class SkColorSpace;
@@ -163,7 +160,6 @@
return result.effect.release();
}
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
class RuntimeEffectRPCallbacks : public SkSL::RP::Callbacks {
public:
RuntimeEffectRPCallbacks(const SkStageRec& s,
@@ -190,6 +186,5 @@
SkSpan<const SkRuntimeEffect::ChildPtr> fChildren;
SkSpan<const SkSL::SampleUsage> fSampleUsages;
};
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
#endif // SkRuntimeEffectPriv_DEFINED
diff --git a/src/effects/colorfilters/SkRuntimeColorFilter.cpp b/src/effects/colorfilters/SkRuntimeColorFilter.cpp
index 04705f0..4f0cee0 100644
--- a/src/effects/colorfilters/SkRuntimeColorFilter.cpp
+++ b/src/effects/colorfilters/SkRuntimeColorFilter.cpp
@@ -45,7 +45,6 @@
, fChildren(children.begin(), children.end()) {}
bool SkRuntimeColorFilter::appendStages(const SkStageRec& rec, bool) const {
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
if (!SkRuntimeEffectPriv::CanDraw(SkCapabilities::RasterBackend().get(), fEffect.get())) {
// SkRP has support for many parts of #version 300 already, but for now, we restrict its
// usage in runtime effects to just #version 100.
@@ -64,16 +63,11 @@
bool success = program->appendStages(rec.fPipeline, rec.fAlloc, &callbacks, uniforms);
return success;
}
-#endif
return false;
}
bool SkRuntimeColorFilter::onIsAlphaUnchanged() const {
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
return fEffect->isAlphaUnchanged();
-#else
- return false;
-#endif
}
void SkRuntimeColorFilter::flatten(SkWriteBuffer& buffer) const {
diff --git a/src/gpu/ganesh/effects/GrSkSLFP.cpp b/src/gpu/ganesh/effects/GrSkSLFP.cpp
index 0e2fcb6..0522d35 100644
--- a/src/gpu/ganesh/effects/GrSkSLFP.cpp
+++ b/src/gpu/ganesh/effects/GrSkSLFP.cpp
@@ -454,7 +454,6 @@
? ConstantOutputForConstantInput(this->childProcessor(fInputChildIndex), inputColor)
: inputColor;
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
class ConstantOutputForConstantInput_SkRPCallbacks : public SkSL::RP::Callbacks {
public:
bool appendShader(int index) override {
@@ -489,7 +488,6 @@
return outputColor;
}
}
-#endif
// We weren't able to run the Raster Pipeline program.
return color;
diff --git a/src/opts/SkRasterPipeline_opts.h b/src/opts/SkRasterPipeline_opts.h
index bb9cdff..8da2fd8 100644
--- a/src/opts/SkRasterPipeline_opts.h
+++ b/src/opts/SkRasterPipeline_opts.h
@@ -3311,8 +3311,6 @@
base = p;
}
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
// All control flow stages used by SkSL maintain some state in the common registers:
// r: condition mask
// g: loop mask
@@ -4403,8 +4401,6 @@
#undef DECLARE_TERNARY_FLOAT
#undef DECLARE_TERNARY_INT
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
STAGE(gauss_a_to_rgba, NoCtx) {
// x = 1 - x;
// exp(-x * x * 4) - 0.018f;
diff --git a/src/shaders/SkRuntimeShader.cpp b/src/shaders/SkRuntimeShader.cpp
index 7b48263..05ccb7b 100644
--- a/src/shaders/SkRuntimeShader.cpp
+++ b/src/shaders/SkRuntimeShader.cpp
@@ -71,7 +71,6 @@
}
bool SkRuntimeShader::appendStages(const SkStageRec& rec, const SkShaders::MatrixRec& mRec) const {
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
if (!SkRuntimeEffectPriv::CanDraw(SkCapabilities::RasterBackend().get(), fEffect.get())) {
// SkRP has support for many parts of #version 300 already, but for now, we restrict its
// usage in runtime effects to just #version 100.
@@ -92,7 +91,6 @@
bool success = program->appendStages(rec.fPipeline, rec.fAlloc, &callbacks, uniforms);
return success;
}
-#endif
return false;
}
diff --git a/src/sksl/codegen/SkSLRasterPipelineBuilder.cpp b/src/sksl/codegen/SkSLRasterPipelineBuilder.cpp
index 38e31ec..a166904 100644
--- a/src/sksl/codegen/SkSLRasterPipelineBuilder.cpp
+++ b/src/sksl/codegen/SkSLRasterPipelineBuilder.cpp
@@ -7,8 +7,6 @@
#include "src/sksl/codegen/SkSLRasterPipelineBuilder.h"
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
#include "include/core/SkStream.h"
#include "include/private/base/SkMalloc.h"
#include "include/private/base/SkTo.h"
@@ -3700,5 +3698,3 @@
}
} // namespace SkSL::RP
-
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
diff --git a/src/sksl/codegen/SkSLRasterPipelineBuilder.h b/src/sksl/codegen/SkSLRasterPipelineBuilder.h
index 7ab468c..4412c4e 100644
--- a/src/sksl/codegen/SkSLRasterPipelineBuilder.h
+++ b/src/sksl/codegen/SkSLRasterPipelineBuilder.h
@@ -10,8 +10,6 @@
#include "include/core/SkTypes.h"
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
#include "include/core/SkSpan.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTArray.h"
@@ -755,13 +753,4 @@
} // namespace RP
} // namespace SkSL
-#else // !defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
-
-namespace SkSL::RP {
-
-class Program {};
-
-} // namespace SkSL::RP
-
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
#endif // SKSL_RASTERPIPELINEBUILDER
diff --git a/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp b/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp
index b7f0682..a047adc 100644
--- a/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp
+++ b/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp
@@ -7,8 +7,6 @@
#include "src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h"
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
#include "include/core/SkPoint.h"
#include "include/core/SkSpan.h"
#include "include/private/SkSLDefines.h"
@@ -4020,5 +4018,3 @@
}
} // namespace SkSL
-
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
diff --git a/tests/RasterPipelineBuilderTest.cpp b/tests/RasterPipelineBuilderTest.cpp
index e932489..aeda12e 100644
--- a/tests/RasterPipelineBuilderTest.cpp
+++ b/tests/RasterPipelineBuilderTest.cpp
@@ -14,8 +14,6 @@
#include "src/sksl/tracing/SkSLDebugTracePriv.h"
#include "tests/Test.h"
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
static sk_sp<SkData> get_program_dump(SkSL::RP::Program& program) {
SkDynamicMemoryWStream stream;
program.dump(&stream);
@@ -884,5 +882,3 @@
}
}
}
-
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
diff --git a/tests/RasterPipelineCodeGeneratorTest.cpp b/tests/RasterPipelineCodeGeneratorTest.cpp
index b16e531..e77db3d 100644
--- a/tests/RasterPipelineCodeGeneratorTest.cpp
+++ b/tests/RasterPipelineCodeGeneratorTest.cpp
@@ -24,8 +24,6 @@
#include <optional>
#include <string>
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
//#define DUMP_PROGRAMS 1
#if defined(DUMP_PROGRAMS)
#include "src/core/SkStreamPriv.h"
@@ -294,5 +292,3 @@
/*startingColor=*/SkColor4f{0.0, 0.0, 0.0, 0.0},
/*expectedResult=*/SkColor4f{0.0, 1.0, 0.0, 1.0});
}
-
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
diff --git a/tests/SkRasterPipelineTest.cpp b/tests/SkRasterPipelineTest.cpp
index b1d44c5..49a0307 100644
--- a/tests/SkRasterPipelineTest.cpp
+++ b/tests/SkRasterPipelineTest.cpp
@@ -104,8 +104,6 @@
REPORTER_ASSERT(r, unpacked.data == object.data);
}
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-
DEF_TEST(SkRasterPipeline_LoadStoreConditionMask, reporter) {
alignas(64) int32_t mask[] = {~0, 0, ~0, 0, ~0, ~0, ~0, 0};
alignas(64) int32_t maskCopy[SkRasterPipeline_kMaxStride_highp] = {};
@@ -2746,8 +2744,6 @@
}
}
-#endif
-
DEF_TEST(SkRasterPipeline_empty, r) {
// No asserts... just a test that this is safe to run.
SkRasterPipeline_<256> p;
diff --git a/tests/SkSLDebugTracePlayerTest.cpp b/tests/SkSLDebugTracePlayerTest.cpp
index a70a591..1b0f44e 100644
--- a/tests/SkSLDebugTracePlayerTest.cpp
+++ b/tests/SkSLDebugTracePlayerTest.cpp
@@ -29,7 +29,7 @@
#include <utility>
#include <vector>
-#if defined(SKSL_ENABLE_TRACING) && defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
+#if defined(SKSL_ENABLE_TRACING)
using LineNumberMap = SkSL::SkSLDebugTracePlayer::LineNumberMap;
@@ -952,4 +952,4 @@
REPORTER_ASSERT(r, player.getCurrentLine() == 6);
}
-#endif // defined(SKSL_ENABLE_TRACING) && defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
+#endif // defined(SKSL_ENABLE_TRACING)
diff --git a/tests/SkSLTest.cpp b/tests/SkSLTest.cpp
index 042c520..c265208 100644
--- a/tests/SkSLTest.cpp
+++ b/tests/SkSLTest.cpp
@@ -358,7 +358,6 @@
SkSL::ThreadContext::End();
}
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
static void report_rp_pass(skiatest::Reporter* r,
const char* testFile,
SkEnumBitMask<SkSLTestFlags> flags) {
@@ -375,12 +374,10 @@
ERRORF(r, "%s: %s", testFile, reason);
}
}
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
static void test_raster_pipeline(skiatest::Reporter* r,
const char* testFile,
SkEnumBitMask<SkSLTestFlags> flags) {
-#ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
SkString shaderString = load_source(r, testFile, "");
if (shaderString.isEmpty()) {
return;
@@ -482,7 +479,6 @@
// Success!
report_rp_pass(r, testFile, flags);
-#endif // SK_ENABLE_SKSL_IN_RASTER_PIPELINE
}
#define SKSL_TEST(flags, ctsEnforcement, name, path) \
diff --git a/tools/skslc/Main.cpp b/tools/skslc/Main.cpp
index 3fa6300..ba6ec50 100644
--- a/tools/skslc/Main.cpp
+++ b/tools/skslc/Main.cpp
@@ -579,7 +579,6 @@
return ResultCode::kSuccess;
};
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
auto compileProgramAsRuntimeShader = [&](const auto& writeFn) -> ResultCode {
if (kind == SkSL::ProgramKind::kVertex) {
emitCompileError("Runtime shaders do not support vertex programs\n");
@@ -591,7 +590,6 @@
}
return compileProgram(writeFn);
};
-#endif
if (skstd::ends_with(outputPath, ".spirv")) {
return compileProgram(
@@ -644,7 +642,6 @@
[](SkSL::Compiler& compiler, SkSL::Program& program, SkSL::OutputStream& out) {
return compiler.toWGSL(program, out);
});
-#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
} else if (skstd::ends_with(outputPath, ".skrp")) {
settings.fMaxVersionAllowed = SkSL::Version::k300;
return compileProgramAsRuntimeShader(
@@ -665,7 +662,6 @@
rasterProg->dump(as_SkWStream(out).get(), /*writeInstructionCount=*/true);
return true;
});
-#endif
} else if (skstd::ends_with(outputPath, ".stage")) {
return compileProgram(
[](SkSL::Compiler&, SkSL::Program& program, SkSL::OutputStream& out) {