# Copyright 2014 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.

source_set("gpu") {
  sources = [
    "gl_context.cc",
    "gl_context.h",
    "gl_context_owner.cc",
    "gl_context_owner.h",
    "gl_texture.cc",
    "gl_texture.h",
    "mojo_context_support.cc",
    "mojo_context_support.h",
    "texture_uploader.cc",
    "texture_uploader.h",
  ]

  deps = [
    "//base",
    "//gpu/command_buffer/client:gles2_interface",
    "//gpu/command_buffer/common",
    "//mojo/environment:chromium",
    "//mojo/public/c/gles2",
    "//mojo/public/c/system",
    "//mojo/public/cpp/application",
    "//mojo/public/cpp/bindings",
    "//mojo/public/cpp/environment",
    "//mojo/public/cpp/system",
    "//mojo/public/cpp/utility",
    "//mojo/public/interfaces/application",
    "//mojo/services/geometry/public/cpp",
    "//mojo/services/geometry/public/interfaces",
    "//mojo/services/gpu/public/interfaces",
    "//mojo/services/surfaces/public/cpp",
    "//mojo/services/surfaces/public/interfaces",
    "//mojo/services/surfaces/public/interfaces:surface_id",
  ]
}
