# 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/SkSLSampleUsage.h",
  "$_src/sksl/SkSLASTFile.h",
  "$_src/sksl/SkSLASTNode.cpp",
  "$_src/sksl/SkSLASTNode.h",
  "$_src/sksl/SkSLAnalysis.cpp",
  "$_src/sksl/SkSLAnalysis.h",
  "$_src/sksl/SkSLByteCode.cpp",
  "$_src/sksl/SkSLByteCode.h",
  "$_src/sksl/SkSLByteCodeGenerator.cpp",
  "$_src/sksl/SkSLByteCodeGenerator.h",
  "$_src/sksl/SkSLCFGGenerator.cpp",
  "$_src/sksl/SkSLCFGGenerator.h",
  "$_src/sksl/SkSLCompiler.cpp",
  "$_src/sksl/SkSLCompiler.h",
  "$_src/sksl/SkSLContext.h",
  "$_src/sksl/SkSLDefines.h",
  "$_src/sksl/SkSLDehydrator.cpp",
  "$_src/sksl/SkSLDehydrator.h",
  "$_src/sksl/SkSLErrorReporter.h",
  "$_src/sksl/SkSLExternalValue.h",
  "$_src/sksl/SkSLFileOutputStream.h",
  "$_src/sksl/SkSLIRGenerator.cpp",
  "$_src/sksl/SkSLIRGenerator.h",
  "$_src/sksl/SkSLInliner.cpp",
  "$_src/sksl/SkSLInliner.h",
  "$_src/sksl/SkSLLexer.cpp",
  "$_src/sksl/SkSLLexer.h",
  "$_src/sksl/SkSLMemoryLayout.h",
  "$_src/sksl/SkSLParser.cpp",
  "$_src/sksl/SkSLParser.h",
  "$_src/sksl/SkSLPosition.h",
  "$_src/sksl/SkSLRehydrator.cpp",
  "$_src/sksl/SkSLRehydrator.h",
  "$_src/sksl/SkSLSampleUsage.cpp",
  "$_src/sksl/SkSLSectionAndParameterHelper.cpp",
  "$_src/sksl/SkSLSectionAndParameterHelper.h",
  "$_src/sksl/SkSLString.cpp",
  "$_src/sksl/SkSLString.h",
  "$_src/sksl/SkSLStringStream.h",
  "$_src/sksl/SkSLUtil.cpp",
  "$_src/sksl/SkSLUtil.h",
  "$_src/sksl/ir/SkSLBinaryExpression.h",
  "$_src/sksl/ir/SkSLBlock.h",
  "$_src/sksl/ir/SkSLBoolLiteral.h",
  "$_src/sksl/ir/SkSLBreakStatement.h",
  "$_src/sksl/ir/SkSLConstructor.cpp",
  "$_src/sksl/ir/SkSLConstructor.h",
  "$_src/sksl/ir/SkSLContinueStatement.h",
  "$_src/sksl/ir/SkSLDiscardStatement.h",
  "$_src/sksl/ir/SkSLDoStatement.h",
  "$_src/sksl/ir/SkSLEnum.h",
  "$_src/sksl/ir/SkSLExpression.h",
  "$_src/sksl/ir/SkSLExpressionStatement.h",
  "$_src/sksl/ir/SkSLExtension.h",
  "$_src/sksl/ir/SkSLExternalFunctionCall.h",
  "$_src/sksl/ir/SkSLExternalValueReference.h",
  "$_src/sksl/ir/SkSLField.h",
  "$_src/sksl/ir/SkSLFieldAccess.h",
  "$_src/sksl/ir/SkSLFloatLiteral.h",
  "$_src/sksl/ir/SkSLForStatement.h",
  "$_src/sksl/ir/SkSLFunctionCall.h",
  "$_src/sksl/ir/SkSLFunctionDeclaration.h",
  "$_src/sksl/ir/SkSLFunctionDefinition.h",
  "$_src/sksl/ir/SkSLFunctionReference.h",
  "$_src/sksl/ir/SkSLIRNode.cpp",
  "$_src/sksl/ir/SkSLIRNode.h",
  "$_src/sksl/ir/SkSLIfStatement.h",
  "$_src/sksl/ir/SkSLIndexExpression.h",
  "$_src/sksl/ir/SkSLInlineMarker.h",
  "$_src/sksl/ir/SkSLIntLiteral.h",
  "$_src/sksl/ir/SkSLInterfaceBlock.h",
  "$_src/sksl/ir/SkSLLayout.h",
  "$_src/sksl/ir/SkSLModifiers.h",
  "$_src/sksl/ir/SkSLModifiersDeclaration.h",
  "$_src/sksl/ir/SkSLNop.h",
  "$_src/sksl/ir/SkSLNullLiteral.h",
  "$_src/sksl/ir/SkSLPostfixExpression.h",
  "$_src/sksl/ir/SkSLPrefixExpression.h",
  "$_src/sksl/ir/SkSLProgram.h",
  "$_src/sksl/ir/SkSLProgramElement.h",
  "$_src/sksl/ir/SkSLReturnStatement.h",
  "$_src/sksl/ir/SkSLSection.h",
  "$_src/sksl/ir/SkSLSetting.cpp",
  "$_src/sksl/ir/SkSLSetting.h",
  "$_src/sksl/ir/SkSLStatement.h",
  "$_src/sksl/ir/SkSLSwitchCase.h",
  "$_src/sksl/ir/SkSLSwitchStatement.h",
  "$_src/sksl/ir/SkSLSwizzle.h",
  "$_src/sksl/ir/SkSLSymbol.h",
  "$_src/sksl/ir/SkSLSymbolAlias.h",
  "$_src/sksl/ir/SkSLSymbolTable.cpp",
  "$_src/sksl/ir/SkSLSymbolTable.h",
  "$_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.h",
  "$_src/sksl/ir/SkSLVariable.h",
  "$_src/sksl/ir/SkSLVariableReference.cpp",
  "$_src/sksl/ir/SkSLVariableReference.h",
  "$_src/sksl/ir/SkSLWhileStatement.h",
]

skia_sksl_gpu_sources = [
  "$_src/sksl/SkSLCPPCodeGenerator.cpp",
  "$_src/sksl/SkSLCPPCodeGenerator.h",
  "$_src/sksl/SkSLCPPUniformCTypes.cpp",
  "$_src/sksl/SkSLCPPUniformCTypes.h",
  "$_src/sksl/SkSLCodeGenerator.h",
  "$_src/sksl/SkSLGLSLCodeGenerator.cpp",
  "$_src/sksl/SkSLGLSLCodeGenerator.h",
  "$_src/sksl/SkSLHCodeGenerator.cpp",
  "$_src/sksl/SkSLHCodeGenerator.h",
  "$_src/sksl/SkSLMetalCodeGenerator.cpp",
  "$_src/sksl/SkSLMetalCodeGenerator.h",
  "$_src/sksl/SkSLOutputStream.cpp",
  "$_src/sksl/SkSLOutputStream.h",
  "$_src/sksl/SkSLPipelineStageCodeGenerator.cpp",
  "$_src/sksl/SkSLPipelineStageCodeGenerator.h",
  "$_src/sksl/SkSLSPIRVCodeGenerator.cpp",
  "$_src/sksl/SkSLSPIRVCodeGenerator.h",
  "$_src/sksl/SkSLSPIRVtoHLSL.cpp",
  "$_src/sksl/SkSLSPIRVtoHLSL.h",
]

skia_gpu_processor_sources = [
  "$_src/gpu/effects/GrAARectEffect.fp",
  "$_src/gpu/effects/GrAlphaThresholdFragmentProcessor.fp",
  "$_src/gpu/effects/GrArithmeticProcessor.fp",
  "$_src/gpu/effects/GrBlurredEdgeFragmentProcessor.fp",
  "$_src/gpu/effects/GrCircleBlurFragmentProcessor.fp",
  "$_src/gpu/effects/GrCircleEffect.fp",
  "$_src/gpu/effects/GrClampFragmentProcessor.fp",
  "$_src/gpu/effects/GrColorMatrixFragmentProcessor.fp",
  "$_src/gpu/effects/GrComposeLerpEffect.fp",
  "$_src/gpu/effects/GrConfigConversionEffect.fp",
  "$_src/gpu/effects/GrConstColorProcessor.fp",
  "$_src/gpu/effects/GrDeviceSpaceEffect.fp",
  "$_src/gpu/effects/GrDitherEffect.fp",
  "$_src/gpu/effects/GrEllipseEffect.fp",
  "$_src/gpu/effects/GrHSLToRGBFilterEffect.fp",
  "$_src/gpu/effects/GrHighContrastFilterEffect.fp",
  "$_src/gpu/effects/GrLumaColorFilterEffect.fp",
  "$_src/gpu/effects/GrMagnifierEffect.fp",
  "$_src/gpu/effects/GrMixerEffect.fp",
  "$_src/gpu/effects/GrOverrideInputFragmentProcessor.fp",
  "$_src/gpu/effects/GrRGBToHSLFilterEffect.fp",
  "$_src/gpu/effects/GrRRectBlurEffect.fp",
  "$_src/gpu/effects/GrRectBlurEffect.fp",
  "$_src/gpu/gradients/GrClampedGradientEffect.fp",
  "$_src/gpu/gradients/GrDualIntervalGradientColorizer.fp",
  "$_src/gpu/gradients/GrLinearGradientLayout.fp",
  "$_src/gpu/gradients/GrRadialGradientLayout.fp",
  "$_src/gpu/gradients/GrSingleIntervalGradientColorizer.fp",
  "$_src/gpu/gradients/GrSweepGradientLayout.fp",
  "$_src/gpu/gradients/GrTiledGradientEffect.fp",
  "$_src/gpu/gradients/GrTwoPointConicalGradientLayout.fp",
  "$_src/gpu/gradients/GrUnrolledBinaryGradientColorizer.fp",
]
