# 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/SkSLBuiltinTypes.cpp",
  "$_src/sksl/SkSLBuiltinTypes.h",
  "$_src/sksl/SkSLCFGGenerator.cpp",
  "$_src/sksl/SkSLCFGGenerator.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/SkSLDefines.h",
  "$_src/sksl/SkSLDehydrator.cpp",
  "$_src/sksl/SkSLDehydrator.h",
  "$_src/sksl/SkSLErrorReporter.h",
  "$_src/sksl/SkSLExternalFunction.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/SkSLMangler.cpp",
  "$_src/sksl/SkSLMemoryLayout.h",
  "$_src/sksl/SkSLMemoryPool.h",
  "$_src/sksl/SkSLOutputStream.cpp",
  "$_src/sksl/SkSLOutputStream.h",
  "$_src/sksl/SkSLParser.cpp",
  "$_src/sksl/SkSLParser.h",
  "$_src/sksl/SkSLPool.cpp",
  "$_src/sksl/SkSLPool.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/SkSLVMGenerator.cpp",
  "$_src/sksl/SkSLVMGenerator.h",
  "$_src/sksl/dsl/DSLBlock.cpp",
  "$_src/sksl/dsl/DSLCore.cpp",
  "$_src/sksl/dsl/DSLExpression.cpp",
  "$_src/sksl/dsl/DSLStatement.cpp",
  "$_src/sksl/dsl/DSLType.cpp",
  "$_src/sksl/dsl/DSLVar.cpp",
  "$_src/sksl/dsl/priv/DSLWriter.cpp",
  "$_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/SkSLExternalFunctionReference.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/SkSLFunctionPrototype.h",
  "$_src/sksl/ir/SkSLFunctionReference.h",
  "$_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/SkSLPostfixExpression.h",
  "$_src/sksl/ir/SkSLPrefixExpression.cpp",
  "$_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/SkSLStructDefinition.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.cpp",
  "$_src/sksl/ir/SkSLVariable.h",
  "$_src/sksl/ir/SkSLVariableReference.cpp",
  "$_src/sksl/ir/SkSLVariableReference.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/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",
]
