# Copyright 2018 The Chromium 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("//build/config/ui.gni")
import("//gpu/vulkan/features.gni")

assert(enable_vulkan)
assert(use_x11 || use_ozone)

config("vulkan_x11") {
  defines = [ "VK_USE_PLATFORM_XLIB_KHR" ]
}

component("x") {
  output_name = "vulkan_x11"

  sources = [
    "vulkan_implementation_x11.cc",
    "vulkan_implementation_x11.h",
  ]

  defines = [ "IS_VULKAN_X11_IMPL" ]

  public_configs = [ ":vulkan_x11" ]
  configs += [ "//build/config/linux:x11" ]

  deps = [
    "//ui/gfx",
    "//ui/gfx/x",
  ]

  public_deps = [
    "//base",
    "//gpu/vulkan",
  ]
}
