# 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/Buffer.cpp",
  "$_src/Buffer.h",
  "$_src/Caps.cpp",
  "$_src/Caps.h",
  "$_src/CommandBuffer.cpp",
  "$_src/CommandBuffer.h",
  "$_src/Context.cpp",
  "$_src/ContextPriv.cpp",
  "$_src/ContextPriv.h",
  "$_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/GpuWorkSubmission.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/MtlBuffer.h",
  "$_src/mtl/MtlBuffer.mm",
  "$_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",
]
