# 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("../experimental/graphite/src", "abspath")
_include = get_path_info("../experimental/graphite/include", "abspath")

skia_graphite_public = [
  "$_include/Context.h",
  "$_include/GraphiteTypes.h",
]

skia_graphite_sources = [
  "$_include/Context.h",
  "$_include/SkStuff.h",
  "$_include/TextureInfo.h",
  "$_include/private/GraphiteTypesPriv.h",
  "$_src/Caps.cpp",
  "$_src/Caps.h",
  "$_src/CommandBuffer.cpp",
  "$_src/CommandBuffer.h",
  "$_src/Context.cpp",
  "$_src/Device.cpp",
  "$_src/Device.h",
  "$_src/DrawContext.cpp",
  "$_src/DrawContext.h",
  "$_src/DrawList.h",
  "$_src/DrawPass.cpp",
  "$_src/DrawPass.h",
  "$_src/Gpu.cpp",
  "$_src/Gpu.h",
  "$_src/Image_Graphite.cpp",
  "$_src/Image_Graphite.h",
  "$_src/Recorder.cpp",
  "$_src/Recorder.h",
  "$_src/Recording.cpp",
  "$_src/Recording.h",
  "$_src/RenderPassTask.cpp",
  "$_src/RenderPassTask.h",
  "$_src/RenderPipeline.cpp",
  "$_src/RenderPipeline.h",
  "$_src/RenderPipelineDesc.cpp",
  "$_src/RenderPipelineDesc.h",
  "$_src/ResourceProvider.cpp",
  "$_src/ResourceProvider.h",
  "$_src/SkStuff.cpp",
  "$_src/Surface_Graphite.cpp",
  "$_src/Surface_Graphite.h",
  "$_src/Task.cpp",
  "$_src/Task.h",
  "$_src/TaskGraph.cpp",
  "$_src/TaskGraph.h",
  "$_src/Texture.cpp",
  "$_src/Texture.h",
  "$_src/TextureInfo.cpp",
  "$_src/TextureProxy.cpp",
  "$_src/TextureProxy.h",
  "$_src/geom/BoundsManager.h",
  "$_src/geom/Shape.cpp",
  "$_src/geom/Shape.h",
]

skia_graphite_mtl_sources = [
  "$_include/mtl/MtlBackendContext.h",
  "$_include/mtl/MtlTypes.h",
  "$_include/private/MtlTypesPriv.h",
  "$_src/mtl/MtlCaps.h",
  "$_src/mtl/MtlCaps.mm",
  "$_src/mtl/MtlCommandBuffer.h",
  "$_src/mtl/MtlCommandBuffer.mm",
  "$_src/mtl/MtlGpu.h",
  "$_src/mtl/MtlGpu.mm",
  "$_src/mtl/MtlRenderPipeline.h",
  "$_src/mtl/MtlRenderPipeline.mm",
  "$_src/mtl/MtlResourceProvider.h",
  "$_src/mtl/MtlResourceProvider.mm",
  "$_src/mtl/MtlTexture.h",
  "$_src/mtl/MtlTexture.mm",
  "$_src/mtl/MtlTrampoline.h",
  "$_src/mtl/MtlTrampoline.mm",
  "$_src/mtl/MtlTypesPriv.mm",
  "$_src/mtl/MtlUtils.h",
  "$_src/mtl/MtlUtils.mm",
]
