# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//flutter/common/config.gni")
import("//flutter/shell/config.gni")
import("//flutter/testing/testing.gni")

source_set("graphics") {
  sources = [
    "gl_context_switch.cc",
    "gl_context_switch.h",
    "msaa_sample_count.h",
    "persistent_cache.cc",
    "persistent_cache.h",
    "texture.cc",
    "texture.h",
  ]

  # Heed caution when adding targets to the dependencies. This is a minimal
  # target containing graphics sources that embedders can depend on. Any
  # additions here could result in added app sizes across embeddings.
  deps = [
    "//flutter/assets",
    "//flutter/display_list",
    "//flutter/fml",
    "//flutter/shell/version:version",
    "//third_party/boringssl",
    "//third_party/rapidjson",
    "//third_party/skia",
  ]

  public_configs = [ "//flutter:config" ]
  if (shell_enable_vulkan) {
    public_deps =
        [ "//third_party/vulkan-deps/vulkan-headers/src:vulkan_headers" ]
  }
}
