skia2/gn/sksl.gni
John Stiles 8d13084535 Migrate function-body finalization out of IRGenerator.
This is a first step towards replacing `finalizeFunction` with a
`FunctionDefinition::Convert` method living outside of the IRGenerator.

Previously this code would assert that we had no early returns from a
vertex-program main() method; this has been turned into an error.
(The original assertion was also tied to fRTFlip, because the *problem*
with early-returns in main is tied to the lack of RTFlip fixups, but
we fundamentally don't allow early returns, so it makes more sense to
just universally disallow it.)

Change-Id: Iba0742f7ef3cbc83995ea130fec1eb1ef2556c44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442691
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-27 18:51:52 +00:00

207 lines
7.5 KiB
Plaintext

# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Things are easiest for everyone if these source paths are absolute.
_src = get_path_info("../src", "abspath")
_include = get_path_info("../include", "abspath")
skia_sksl_sources = [
"$_include/private/SkSLDefines.h",
"$_include/private/SkSLIRNode.h",
"$_include/private/SkSLLayout.h",
"$_include/private/SkSLModifiers.h",
"$_include/private/SkSLProgramElement.h",
"$_include/private/SkSLProgramKind.h",
"$_include/private/SkSLSampleUsage.h",
"$_include/private/SkSLStatement.h",
"$_include/private/SkSLString.h",
"$_include/private/SkSLSymbol.h",
"$_include/sksl/DSL.h",
"$_include/sksl/DSLBlock.h",
"$_include/sksl/DSLCase.h",
"$_include/sksl/DSLCore.h",
"$_include/sksl/DSLExpression.h",
"$_include/sksl/DSLFunction.h",
"$_include/sksl/DSLLayout.h",
"$_include/sksl/DSLModifiers.h",
"$_include/sksl/DSLRuntimeEffects.h",
"$_include/sksl/DSLStatement.h",
"$_include/sksl/DSLSymbols.h",
"$_include/sksl/DSLType.h",
"$_include/sksl/DSLVar.h",
"$_include/sksl/SkSLErrorReporter.h",
"$_src/sksl/SkSLASTFile.h",
"$_src/sksl/SkSLASTNode.h",
"$_src/sksl/SkSLAnalysis.cpp",
"$_src/sksl/SkSLAnalysis.h",
"$_src/sksl/SkSLBuiltinTypes.cpp",
"$_src/sksl/SkSLBuiltinTypes.h",
"$_src/sksl/SkSLCompiler.cpp",
"$_src/sksl/SkSLCompiler.h",
"$_src/sksl/SkSLConstantFolder.cpp",
"$_src/sksl/SkSLConstantFolder.h",
"$_src/sksl/SkSLContext.cpp",
"$_src/sksl/SkSLContext.h",
"$_src/sksl/SkSLDSLParser.cpp",
"$_src/sksl/SkSLDSLParser.h",
"$_src/sksl/SkSLDehydrator.cpp",
"$_src/sksl/SkSLDehydrator.h",
"$_src/sksl/SkSLErrorReporter.cpp",
"$_src/sksl/SkSLFileOutputStream.h",
"$_src/sksl/SkSLIRGenerator.cpp",
"$_src/sksl/SkSLIRGenerator.h",
"$_src/sksl/SkSLInliner.cpp",
"$_src/sksl/SkSLInliner.h",
"$_src/sksl/SkSLIntrinsicList.h",
"$_src/sksl/SkSLLexer.cpp",
"$_src/sksl/SkSLLexer.h",
"$_src/sksl/SkSLMangler.cpp",
"$_src/sksl/SkSLMangler.h",
"$_src/sksl/SkSLMemoryLayout.h",
"$_src/sksl/SkSLMemoryPool.h",
"$_src/sksl/SkSLModifiersPool.h",
"$_src/sksl/SkSLOperators.cpp",
"$_src/sksl/SkSLOperators.h",
"$_src/sksl/SkSLOutputStream.cpp",
"$_src/sksl/SkSLOutputStream.h",
"$_src/sksl/SkSLParsedModule.h",
"$_src/sksl/SkSLParser.cpp",
"$_src/sksl/SkSLParser.h",
"$_src/sksl/SkSLPool.cpp",
"$_src/sksl/SkSLPool.h",
"$_src/sksl/SkSLPosition.h",
"$_src/sksl/SkSLProgramSettings.h",
"$_src/sksl/SkSLRehydrator.cpp",
"$_src/sksl/SkSLRehydrator.h",
"$_src/sksl/SkSLSampleUsage.cpp",
"$_src/sksl/SkSLString.cpp",
"$_src/sksl/SkSLStringStream.h",
"$_src/sksl/SkSLUtil.cpp",
"$_src/sksl/SkSLUtil.h",
"$_src/sksl/codegen/SkSLVMCodeGenerator.cpp",
"$_src/sksl/codegen/SkSLVMCodeGenerator.h",
"$_src/sksl/dsl/DSLBlock.cpp",
"$_src/sksl/dsl/DSLCase.cpp",
"$_src/sksl/dsl/DSLCore.cpp",
"$_src/sksl/dsl/DSLExpression.cpp",
"$_src/sksl/dsl/DSLFunction.cpp",
"$_src/sksl/dsl/DSLLayout.cpp",
"$_src/sksl/dsl/DSLRuntimeEffects.cpp",
"$_src/sksl/dsl/DSLStatement.cpp",
"$_src/sksl/dsl/DSLSymbols.cpp",
"$_src/sksl/dsl/DSLType.cpp",
"$_src/sksl/dsl/DSLVar.cpp",
"$_src/sksl/dsl/priv/DSLFPs.cpp",
"$_src/sksl/dsl/priv/DSLWriter.cpp",
"$_src/sksl/dsl/priv/DSLWriter.h",
"$_src/sksl/ir/SkSLBinaryExpression.cpp",
"$_src/sksl/ir/SkSLBinaryExpression.h",
"$_src/sksl/ir/SkSLBlock.cpp",
"$_src/sksl/ir/SkSLBlock.h",
"$_src/sksl/ir/SkSLBoolLiteral.h",
"$_src/sksl/ir/SkSLBreakStatement.h",
"$_src/sksl/ir/SkSLChildCall.cpp",
"$_src/sksl/ir/SkSLChildCall.h",
"$_src/sksl/ir/SkSLConstructor.cpp",
"$_src/sksl/ir/SkSLConstructor.h",
"$_src/sksl/ir/SkSLConstructorArray.cpp",
"$_src/sksl/ir/SkSLConstructorArray.h",
"$_src/sksl/ir/SkSLConstructorArrayCast.cpp",
"$_src/sksl/ir/SkSLConstructorArrayCast.h",
"$_src/sksl/ir/SkSLConstructorCompound.cpp",
"$_src/sksl/ir/SkSLConstructorCompound.h",
"$_src/sksl/ir/SkSLConstructorCompoundCast.cpp",
"$_src/sksl/ir/SkSLConstructorCompoundCast.h",
"$_src/sksl/ir/SkSLConstructorDiagonalMatrix.cpp",
"$_src/sksl/ir/SkSLConstructorDiagonalMatrix.h",
"$_src/sksl/ir/SkSLConstructorMatrixResize.cpp",
"$_src/sksl/ir/SkSLConstructorMatrixResize.h",
"$_src/sksl/ir/SkSLConstructorScalarCast.cpp",
"$_src/sksl/ir/SkSLConstructorScalarCast.h",
"$_src/sksl/ir/SkSLConstructorSplat.cpp",
"$_src/sksl/ir/SkSLConstructorSplat.h",
"$_src/sksl/ir/SkSLConstructorStruct.cpp",
"$_src/sksl/ir/SkSLConstructorStruct.h",
"$_src/sksl/ir/SkSLContinueStatement.h",
"$_src/sksl/ir/SkSLDiscardStatement.h",
"$_src/sksl/ir/SkSLDoStatement.cpp",
"$_src/sksl/ir/SkSLDoStatement.h",
"$_src/sksl/ir/SkSLExpression.h",
"$_src/sksl/ir/SkSLExpressionStatement.cpp",
"$_src/sksl/ir/SkSLExpressionStatement.h",
"$_src/sksl/ir/SkSLExtension.h",
"$_src/sksl/ir/SkSLExternalFunction.h",
"$_src/sksl/ir/SkSLExternalFunctionCall.h",
"$_src/sksl/ir/SkSLExternalFunctionReference.h",
"$_src/sksl/ir/SkSLField.h",
"$_src/sksl/ir/SkSLFieldAccess.cpp",
"$_src/sksl/ir/SkSLFieldAccess.h",
"$_src/sksl/ir/SkSLFloatLiteral.h",
"$_src/sksl/ir/SkSLForStatement.cpp",
"$_src/sksl/ir/SkSLForStatement.h",
"$_src/sksl/ir/SkSLFunctionCall.cpp",
"$_src/sksl/ir/SkSLFunctionCall.h",
"$_src/sksl/ir/SkSLFunctionDeclaration.cpp",
"$_src/sksl/ir/SkSLFunctionDeclaration.h",
"$_src/sksl/ir/SkSLFunctionDefinition.cpp",
"$_src/sksl/ir/SkSLFunctionDefinition.h",
"$_src/sksl/ir/SkSLFunctionPrototype.h",
"$_src/sksl/ir/SkSLFunctionReference.h",
"$_src/sksl/ir/SkSLIfStatement.cpp",
"$_src/sksl/ir/SkSLIfStatement.h",
"$_src/sksl/ir/SkSLIndexExpression.cpp",
"$_src/sksl/ir/SkSLIndexExpression.h",
"$_src/sksl/ir/SkSLInlineMarker.h",
"$_src/sksl/ir/SkSLIntLiteral.h",
"$_src/sksl/ir/SkSLInterfaceBlock.h",
"$_src/sksl/ir/SkSLModifiersDeclaration.h",
"$_src/sksl/ir/SkSLNop.h",
"$_src/sksl/ir/SkSLPoison.h",
"$_src/sksl/ir/SkSLPostfixExpression.cpp",
"$_src/sksl/ir/SkSLPostfixExpression.h",
"$_src/sksl/ir/SkSLPrefixExpression.cpp",
"$_src/sksl/ir/SkSLPrefixExpression.h",
"$_src/sksl/ir/SkSLProgram.h",
"$_src/sksl/ir/SkSLReturnStatement.h",
"$_src/sksl/ir/SkSLSetting.cpp",
"$_src/sksl/ir/SkSLSetting.h",
"$_src/sksl/ir/SkSLStructDefinition.h",
"$_src/sksl/ir/SkSLSwitchCase.h",
"$_src/sksl/ir/SkSLSwitchStatement.cpp",
"$_src/sksl/ir/SkSLSwitchStatement.h",
"$_src/sksl/ir/SkSLSwizzle.cpp",
"$_src/sksl/ir/SkSLSwizzle.h",
"$_src/sksl/ir/SkSLSymbolAlias.h",
"$_src/sksl/ir/SkSLSymbolTable.cpp",
"$_src/sksl/ir/SkSLSymbolTable.h",
"$_src/sksl/ir/SkSLTernaryExpression.cpp",
"$_src/sksl/ir/SkSLTernaryExpression.h",
"$_src/sksl/ir/SkSLType.cpp",
"$_src/sksl/ir/SkSLType.h",
"$_src/sksl/ir/SkSLTypeReference.h",
"$_src/sksl/ir/SkSLUnresolvedFunction.h",
"$_src/sksl/ir/SkSLVarDeclarations.cpp",
"$_src/sksl/ir/SkSLVarDeclarations.h",
"$_src/sksl/ir/SkSLVariable.cpp",
"$_src/sksl/ir/SkSLVariable.h",
"$_src/sksl/ir/SkSLVariableReference.cpp",
"$_src/sksl/ir/SkSLVariableReference.h",
"$_src/sksl/spirv.h",
]
skia_sksl_gpu_sources = [
"$_src/sksl/codegen/SkSLCodeGenerator.h",
"$_src/sksl/codegen/SkSLGLSLCodeGenerator.cpp",
"$_src/sksl/codegen/SkSLGLSLCodeGenerator.h",
"$_src/sksl/codegen/SkSLMetalCodeGenerator.cpp",
"$_src/sksl/codegen/SkSLMetalCodeGenerator.h",
"$_src/sksl/codegen/SkSLPipelineStageCodeGenerator.cpp",
"$_src/sksl/codegen/SkSLPipelineStageCodeGenerator.h",
"$_src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp",
"$_src/sksl/codegen/SkSLSPIRVCodeGenerator.h",
"$_src/sksl/codegen/SkSLSPIRVtoHLSL.cpp",
"$_src/sksl/codegen/SkSLSPIRVtoHLSL.h",
]