# Copyright 2021 Google LLC
#
# 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/gpu/graphite", "abspath")
_include = get_path_info("../include/gpu/graphite", "abspath")
_include_private = get_path_info("../include/private/gpu/graphite", "abspath")

skia_graphite_public = [
  "$_include/BackendSemaphore.h",
  "$_include/BackendTexture.h",
  "$_include/Context.h",
  "$_include/ContextOptions.h",
  "$_include/GraphiteTypes.h",
  "$_include/Image.h",
  "$_include/ImageProvider.h",
  "$_include/Recorder.h",
  "$_include/Recording.h",
  "$_include/Surface.h",
  "$_include/TextureInfo.h",
  "$_include/YUVABackendTextures.h",
]

skia_graphite_sources = [
  "$_include_private/ContextOptionsPriv.h",
  "$_src/AtlasProvider.cpp",
  "$_src/AtlasProvider.h",
  "$_src/AttachmentTypes.h",
  "$_src/Attribute.h",
  "$_src/BackendSemaphore.cpp",
  "$_src/BackendTexture.cpp",
  "$_src/Buffer.cpp",
  "$_src/Buffer.h",
  "$_src/BufferManager.cpp",
  "$_src/BufferManager.h",
  "$_src/BuiltInCodeSnippetID.h",
  "$_src/Caps.cpp",
  "$_src/Caps.h",
  "$_src/ClientMappedBufferManager.cpp",
  "$_src/ClientMappedBufferManager.h",
  "$_src/ClipStack_graphite.cpp",
  "$_src/ClipStack_graphite.h",
  "$_src/CommandBuffer.cpp",
  "$_src/CommandBuffer.h",
  "$_src/CommandTypes.h",
  "$_src/ComputePipeline.cpp",
  "$_src/ComputePipeline.h",
  "$_src/ComputeTypes.h",
  "$_src/Context.cpp",
  "$_src/ContextPriv.h",
  "$_src/ContextUtils.cpp",
  "$_src/ContextUtils.h",
  "$_src/DescriptorData.h",
  "$_src/Device.cpp",
  "$_src/Device.h",
  "$_src/DrawAtlas.cpp",
  "$_src/DrawAtlas.h",
  "$_src/DrawCommands.h",
  "$_src/DrawContext.cpp",
  "$_src/DrawContext.h",
  "$_src/DrawList.cpp",
  "$_src/DrawList.h",
  "$_src/DrawOrder.h",
  "$_src/DrawParams.h",
  "$_src/DrawPass.cpp",
  "$_src/DrawPass.h",
  "$_src/DrawTypes.h",
  "$_src/DrawWriter.cpp",
  "$_src/DrawWriter.h",
  "$_src/GlobalCache.cpp",
  "$_src/GlobalCache.h",
  "$_src/GpuWorkSubmission.cpp",
  "$_src/GpuWorkSubmission.h",
  "$_src/GraphicsPipeline.cpp",
  "$_src/GraphicsPipeline.h",
  "$_src/GraphicsPipelineDesc.h",
  "$_src/GraphiteResourceKey.cpp",
  "$_src/GraphiteResourceKey.h",
  "$_src/ImageFactories.cpp",
  "$_src/Image_Base_Graphite.cpp",
  "$_src/Image_Base_Graphite.h",
  "$_src/Image_Graphite.cpp",
  "$_src/Image_Graphite.h",
  "$_src/Image_YUVA_Graphite.cpp",
  "$_src/Image_YUVA_Graphite.h",
  "$_src/KeyContext.cpp",
  "$_src/KeyContext.h",
  "$_src/KeyHelpers.cpp",
  "$_src/KeyHelpers.h",
  "$_src/Log.h",
  "$_src/PaintParams.cpp",
  "$_src/PaintParams.h",
  "$_src/PaintParamsKey.cpp",
  "$_src/PaintParamsKey.h",
  "$_src/PathAtlas.cpp",
  "$_src/PathAtlas.h",
  "$_src/PipelineData.cpp",
  "$_src/PipelineData.h",
  "$_src/PipelineDataCache.h",
  "$_src/ProxyCache.cpp",
  "$_src/ProxyCache.h",
  "$_src/QueueManager.cpp",
  "$_src/QueueManager.h",
  "$_src/RasterPathAtlas.cpp",
  "$_src/RasterPathAtlas.h",
  "$_src/RasterPathUtils.cpp",
  "$_src/RasterPathUtils.h",
  "$_src/ReadSwizzle.h",
  "$_src/Recorder.cpp",
  "$_src/RecorderPriv.h",
  "$_src/Recording.cpp",
  "$_src/RecordingPriv.h",
  "$_src/Renderer.cpp",
  "$_src/Renderer.h",
  "$_src/RendererProvider.cpp",
  "$_src/RendererProvider.h",
  "$_src/Resource.cpp",
  "$_src/Resource.h",
  "$_src/ResourceCache.cpp",
  "$_src/ResourceCache.h",
  "$_src/ResourceProvider.cpp",
  "$_src/ResourceProvider.h",
  "$_src/ResourceTypes.h",
  "$_src/RuntimeEffectDictionary.cpp",
  "$_src/RuntimeEffectDictionary.h",
  "$_src/Sampler.cpp",
  "$_src/Sampler.h",
  "$_src/ShaderCodeDictionary.cpp",
  "$_src/ShaderCodeDictionary.h",
  "$_src/SharedContext.cpp",
  "$_src/SharedContext.h",
  "$_src/SpecialImage_Graphite.cpp",
  "$_src/Surface_Graphite.cpp",
  "$_src/Surface_Graphite.h",
  "$_src/Texture.cpp",
  "$_src/Texture.h",
  "$_src/TextureInfo.cpp",
  "$_src/TextureProxy.cpp",
  "$_src/TextureProxy.h",
  "$_src/TextureProxyView.h",
  "$_src/TextureUtils.cpp",
  "$_src/TextureUtils.h",
  "$_src/Uniform.h",
  "$_src/UniformManager.cpp",
  "$_src/UniformManager.h",
  "$_src/UniquePaintParamsID.h",
  "$_src/UploadBufferManager.cpp",
  "$_src/UploadBufferManager.h",
  "$_src/YUVABackendTextures.cpp",
  "$_src/YUVATextureProxies.cpp",
  "$_src/YUVATextureProxies.h",
  "$_src/compute/ComputeStep.cpp",
  "$_src/compute/ComputeStep.h",
  "$_src/compute/DispatchGroup.cpp",
  "$_src/compute/DispatchGroup.h",
  "$_src/geom/BoundsManager.h",
  "$_src/geom/CoverageMaskShape.h",
  "$_src/geom/EdgeAAQuad.h",
  "$_src/geom/Geometry.h",
  "$_src/geom/IntersectionTree.cpp",
  "$_src/geom/IntersectionTree.h",
  "$_src/geom/Rect.h",
  "$_src/geom/Shape.cpp",
  "$_src/geom/Shape.h",
  "$_src/geom/SubRunData.h",
  "$_src/geom/Transform.cpp",
  "$_src/geom/Transform_graphite.h",
  "$_src/render/AnalyticRRectRenderStep.cpp",
  "$_src/render/AnalyticRRectRenderStep.h",
  "$_src/render/BitmapTextRenderStep.cpp",
  "$_src/render/BitmapTextRenderStep.h",
  "$_src/render/CommonDepthStencilSettings.h",
  "$_src/render/CoverBoundsRenderStep.cpp",
  "$_src/render/CoverBoundsRenderStep.h",
  "$_src/render/CoverageMaskRenderStep.cpp",
  "$_src/render/CoverageMaskRenderStep.h",
  "$_src/render/DynamicInstancesPatchAllocator.h",
  "$_src/render/GraphiteVertexFiller.cpp",
  "$_src/render/MiddleOutFanRenderStep.cpp",
  "$_src/render/MiddleOutFanRenderStep.h",
  "$_src/render/PerEdgeAAQuadRenderStep.cpp",
  "$_src/render/PerEdgeAAQuadRenderStep.h",
  "$_src/render/SDFTextRenderStep.cpp",
  "$_src/render/SDFTextRenderStep.h",
  "$_src/render/TessellateCurvesRenderStep.cpp",
  "$_src/render/TessellateCurvesRenderStep.h",
  "$_src/render/TessellateStrokesRenderStep.cpp",
  "$_src/render/TessellateStrokesRenderStep.h",
  "$_src/render/TessellateWedgesRenderStep.cpp",
  "$_src/render/TessellateWedgesRenderStep.h",
  "$_src/render/VerticesRenderStep.cpp",
  "$_src/render/VerticesRenderStep.h",
  "$_src/task/ClearBuffersTask.cpp",
  "$_src/task/ClearBuffersTask.h",
  "$_src/task/ComputeTask.cpp",
  "$_src/task/ComputeTask.h",
  "$_src/task/CopyTask.cpp",
  "$_src/task/CopyTask.h",
  "$_src/task/DrawTask.cpp",
  "$_src/task/DrawTask.h",
  "$_src/task/RenderPassTask.cpp",
  "$_src/task/RenderPassTask.h",
  "$_src/task/SynchronizeToCpuTask.cpp",
  "$_src/task/SynchronizeToCpuTask.h",
  "$_src/task/Task.h",
  "$_src/task/TaskList.cpp",
  "$_src/task/TaskList.h",
  "$_src/task/UploadTask.cpp",
  "$_src/task/UploadTask.h",
  "$_src/text/TextAtlasManager.cpp",
  "$_src/text/TextAtlasManager.h",
]

skia_graphite_android_private = [
  "$_src/surface/Surface_AndroidFactories.cpp",
  "$_include/android/graphite/SurfaceAndroid.h",
]

skia_graphite_dawn_public = [
  "$_include/dawn/DawnBackendContext.h",
  "$_include/dawn/DawnTypes.h",
  "$_include/dawn/DawnUtils.h",
]

skia_graphite_dawn_sources = [
  "$_include_private/DawnTypesPriv.h",
  "$_src/dawn/DawnAsyncWait.cpp",
  "$_src/dawn/DawnAsyncWait.h",
  "$_src/dawn/DawnBuffer.cpp",
  "$_src/dawn/DawnBuffer.h",
  "$_src/dawn/DawnCaps.cpp",
  "$_src/dawn/DawnCaps.h",
  "$_src/dawn/DawnCommandBuffer.cpp",
  "$_src/dawn/DawnCommandBuffer.h",
  "$_src/dawn/DawnComputePipeline.cpp",
  "$_src/dawn/DawnComputePipeline.h",
  "$_src/dawn/DawnErrorChecker.cpp",
  "$_src/dawn/DawnErrorChecker.h",
  "$_src/dawn/DawnGraphicsPipeline.cpp",
  "$_src/dawn/DawnGraphicsPipeline.h",
  "$_src/dawn/DawnGraphiteUtils.cpp",
  "$_src/dawn/DawnGraphiteUtilsPriv.h",
  "$_src/dawn/DawnQueueManager.cpp",
  "$_src/dawn/DawnQueueManager.h",
  "$_src/dawn/DawnResourceProvider.cpp",
  "$_src/dawn/DawnResourceProvider.h",
  "$_src/dawn/DawnSampler.cpp",
  "$_src/dawn/DawnSampler.h",
  "$_src/dawn/DawnSharedContext.cpp",
  "$_src/dawn/DawnSharedContext.h",
  "$_src/dawn/DawnTexture.cpp",
  "$_src/dawn/DawnTexture.h",
  "$_src/dawn/DawnTypesPriv.cpp",
  "$_src/dawn/DawnUtils.cpp",
  "$_src/dawn/DawnUtilsPriv.h",
]

skia_graphite_mtl_public = [
  "$_include/mtl/MtlBackendContext.h",
  "$_include/mtl/MtlGraphiteTypes.h",
  "$_include/mtl/MtlGraphiteUtils.h",
]

skia_graphite_mtl_sources = [
  "$_include_private/MtlGraphiteTypesPriv.h",
  "$_src/mtl/MtlBlitCommandEncoder.h",
  "$_src/mtl/MtlBuffer.h",
  "$_src/mtl/MtlBuffer.mm",
  "$_src/mtl/MtlCaps.h",
  "$_src/mtl/MtlCaps.mm",
  "$_src/mtl/MtlCommandBuffer.h",
  "$_src/mtl/MtlCommandBuffer.mm",
  "$_src/mtl/MtlComputeCommandEncoder.h",
  "$_src/mtl/MtlComputePipeline.h",
  "$_src/mtl/MtlComputePipeline.mm",
  "$_src/mtl/MtlGraphicsPipeline.h",
  "$_src/mtl/MtlGraphicsPipeline.mm",
  "$_src/mtl/MtlGraphiteTypes.mm",
  "$_src/mtl/MtlGraphiteUtils.mm",
  "$_src/mtl/MtlGraphiteUtilsPriv.h",
  "$_src/mtl/MtlQueueManager.h",
  "$_src/mtl/MtlQueueManager.mm",
  "$_src/mtl/MtlRenderCommandEncoder.h",
  "$_src/mtl/MtlResourceProvider.h",
  "$_src/mtl/MtlResourceProvider.mm",
  "$_src/mtl/MtlSampler.h",
  "$_src/mtl/MtlSampler.mm",
  "$_src/mtl/MtlSharedContext.h",
  "$_src/mtl/MtlSharedContext.mm",
  "$_src/mtl/MtlTexture.h",
  "$_src/mtl/MtlTexture.mm",
]

skia_graphite_vk_public = [
  "$_include/vk/VulkanGraphiteTypes.h",
  "$_include/vk/VulkanGraphiteUtils.h",
]

skia_graphite_vk_sources = [
  "$_include_private/VulkanGraphiteTypesPriv.h",
  "$_src/vk/VulkanBuffer.cpp",
  "$_src/vk/VulkanBuffer.h",
  "$_src/vk/VulkanCaps.cpp",
  "$_src/vk/VulkanCaps.h",
  "$_src/vk/VulkanCommandBuffer.cpp",
  "$_src/vk/VulkanCommandBuffer.h",
  "$_src/vk/VulkanDescriptorPool.cpp",
  "$_src/vk/VulkanDescriptorPool.h",
  "$_src/vk/VulkanDescriptorSet.cpp",
  "$_src/vk/VulkanDescriptorSet.h",
  "$_src/vk/VulkanFramebuffer.cpp",
  "$_src/vk/VulkanFramebuffer.h",
  "$_src/vk/VulkanGraphicsPipeline.cpp",
  "$_src/vk/VulkanGraphicsPipeline.h",
  "$_src/vk/VulkanGraphiteTypes.cpp",
  "$_src/vk/VulkanGraphiteUtils.cpp",
  "$_src/vk/VulkanGraphiteUtilsPriv.h",
  "$_src/vk/VulkanImageView.cpp",
  "$_src/vk/VulkanImageView.h",
  "$_src/vk/VulkanQueueManager.cpp",
  "$_src/vk/VulkanQueueManager.h",
  "$_src/vk/VulkanRenderPass.cpp",
  "$_src/vk/VulkanRenderPass.h",
  "$_src/vk/VulkanResourceProvider.cpp",
  "$_src/vk/VulkanResourceProvider.h",
  "$_src/vk/VulkanSampler.cpp",
  "$_src/vk/VulkanSampler.h",
  "$_src/vk/VulkanSamplerYcbcrConversion.cpp",
  "$_src/vk/VulkanSamplerYcbcrConversion.h",
  "$_src/vk/VulkanSharedContext.cpp",
  "$_src/vk/VulkanSharedContext.h",
  "$_src/vk/VulkanTexture.cpp",
  "$_src/vk/VulkanTexture.h",
]

skia_graphite_vello_sources = [
  "$_src/compute/VelloComputeSteps.cpp",
  "$_src/compute/VelloComputeSteps.h",
  "$_src/compute/VelloRenderer.cpp",
  "$_src/compute/VelloRenderer.h",
]

skia_graphite_precompile_public = []

skia_graphite_precompile_sources = [
  "$_src/FactoryFunctions.cpp",
  "$_src/FactoryFunctions.h",
  "$_src/FactoryFunctionsPriv.h",
  "$_src/PaintOptionsPriv.h",
  "$_src/Precompile.cpp",
  "$_src/Precompile.h",
  "$_src/PrecompileBasePriv.h",
  "$_src/PublicPrecompile.cpp",
  "$_src/PublicPrecompile.h",
]
