/************************************************************************************************** *** This file was autogenerated from GrDSLFPTest_WhileStatement.fp; do not modify. **************************************************************************************************/ /* TODO(skia:11854): DSLCPPCodeGenerator is currently a work in progress. */ #include "GrDSLFPTest_WhileStatement.h" #include "src/core/SkUtils.h" #include "src/gpu/GrTexture.h" #include "src/gpu/glsl/GrGLSLFragmentProcessor.h" #include "src/gpu/glsl/GrGLSLFragmentShaderBuilder.h" #include "src/gpu/glsl/GrGLSLProgramBuilder.h" #include "src/sksl/SkSLCPP.h" #include "src/sksl/SkSLUtil.h" #include "src/sksl/dsl/priv/DSLFPs.h" #include "src/sksl/dsl/priv/DSLWriter.h" #if defined(__clang__) #pragma clang diagnostic ignored "-Wcomma" #endif class GrGLSLDSLFPTest_WhileStatement : public GrGLSLFragmentProcessor { public: GrGLSLDSLFPTest_WhileStatement() {} void emitCode(EmitArgs& args) override { const GrDSLFPTest_WhileStatement& _outer = args.fFp.cast(); (void) _outer; using namespace SkSL::dsl; StartFragmentProcessor(this, &args); Var color(kNo_Modifier, DSLType(kHalf4_Type), "color", Half4(1.0)); Declare(color); While(color.x() > 0.5, color.x() -= 0.25); While(color.w() == 1.0, Block(color.x() -= 0.25, If(color.x() <= 0.0, /*Then:*/ Break()))); While(color.z() > 0.0, Block(color.z() -= 0.25, If(color.w() == 1.0, /*Then:*/ Continue()), color.y() = 0.0)); Return(color); EndFragmentProcessor(); } private: void onSetData(const GrGLSLProgramDataManager& pdman, const GrFragmentProcessor& _proc) override { } }; std::unique_ptr GrDSLFPTest_WhileStatement::onMakeProgramImpl() const { return std::make_unique(); } void GrDSLFPTest_WhileStatement::onGetGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const { } bool GrDSLFPTest_WhileStatement::onIsEqual(const GrFragmentProcessor& other) const { const GrDSLFPTest_WhileStatement& that = other.cast(); (void) that; return true; } GrDSLFPTest_WhileStatement::GrDSLFPTest_WhileStatement(const GrDSLFPTest_WhileStatement& src) : INHERITED(kGrDSLFPTest_WhileStatement_ClassID, src.optimizationFlags()) { this->cloneAndRegisterAllChildProcessors(src); } std::unique_ptr GrDSLFPTest_WhileStatement::clone() const { return std::make_unique(*this); } #if GR_TEST_UTILS SkString GrDSLFPTest_WhileStatement::onDumpInfo() const { return SkString(); } #endif