• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/ui.gni")
6import("//third_party/protobuf/proto_library.gni")
7
8source_set("service") {
9  sources = [
10    "async_pixel_transfer_delegate.cc",
11    "async_pixel_transfer_delegate.h",
12    "async_pixel_transfer_manager_android.cc",
13    "async_pixel_transfer_manager_idle.cc",
14    "async_pixel_transfer_manager_idle.h",
15    "async_pixel_transfer_manager_linux.cc",
16    "async_pixel_transfer_manager_mac.cc",
17    "async_pixel_transfer_manager_share_group.cc",
18    "async_pixel_transfer_manager_share_group.h",
19    "async_pixel_transfer_manager_stub.cc",
20    "async_pixel_transfer_manager_stub.h",
21    "async_pixel_transfer_manager_sync.cc",
22    "async_pixel_transfer_manager_sync.h",
23    "async_pixel_transfer_manager_win.cc",
24    "async_pixel_transfer_manager.cc",
25    "async_pixel_transfer_manager.h",
26    "buffer_manager.h",
27    "buffer_manager.cc",
28    "cmd_buffer_engine.h",
29    "cmd_parser.cc",
30    "cmd_parser.h",
31    "command_buffer_service.cc",
32    "command_buffer_service.h",
33    "common_decoder.cc",
34    "common_decoder.h",
35    "context_group.h",
36    "context_group.cc",
37    "context_state.h",
38    "context_state_autogen.h",
39    "context_state_impl_autogen.h",
40    "context_state.cc",
41    "error_state.cc",
42    "error_state.h",
43    "feature_info.h",
44    "feature_info.cc",
45    "framebuffer_manager.h",
46    "framebuffer_manager.cc",
47    "gles2_cmd_copy_texture_chromium.cc",
48    "gles2_cmd_copy_texture_chromium.h",
49    "gles2_cmd_decoder.h",
50    "gles2_cmd_decoder_autogen.h",
51    "gles2_cmd_decoder.cc",
52    "gles2_cmd_validation.h",
53    "gles2_cmd_validation.cc",
54    "gles2_cmd_validation_autogen.h",
55    "gles2_cmd_validation_implementation_autogen.h",
56    "gl_context_virtual.cc",
57    "gl_context_virtual.h",
58    "gl_state_restorer_impl.cc",
59    "gl_state_restorer_impl.h",
60    "gl_utils.h",
61    "gpu_control_service.cc",
62    "gpu_control_service.h",
63    "gpu_memory_buffer_manager.h",
64    "gpu_scheduler.cc",
65    "gpu_scheduler.h",
66    "gpu_scheduler_mock.h",
67    "gpu_state_tracer.cc",
68    "gpu_state_tracer.h",
69    "gpu_switches.cc",
70    "gpu_switches.h",
71    "gpu_tracer.cc",
72    "gpu_tracer.h",
73    "id_manager.h",
74    "id_manager.cc",
75    "image_manager.cc",
76    "image_manager.h",
77    "in_process_command_buffer.cc",
78    "in_process_command_buffer.h",
79    "logger.cc",
80    "logger.h",
81    "mailbox_manager.cc",
82    "mailbox_manager.h",
83    "mailbox_synchronizer.cc",
84    "mailbox_synchronizer.h",
85    "memory_program_cache.h",
86    "memory_program_cache.cc",
87    "mocks.h",
88    "program_manager.h",
89    "program_manager.cc",
90    "query_manager.h",
91    "query_manager.cc",
92    "renderbuffer_manager.h",
93    "renderbuffer_manager.cc",
94    "program_cache.h",
95    "program_cache.cc",
96    "shader_manager.h",
97    "shader_manager.cc",
98    "shader_translator.h",
99    "shader_translator.cc",
100    "shader_translator_cache.h",
101    "shader_translator_cache.cc",
102    "stream_texture_manager_in_process_android.h",
103    "stream_texture_manager_in_process_android.cc",
104    "texture_definition.h",
105    "texture_definition.cc",
106    "texture_manager.h",
107    "texture_manager.cc",
108    "transfer_buffer_manager.cc",
109    "transfer_buffer_manager.h",
110    "vertex_array_manager.h",
111    "vertex_array_manager.cc",
112    "vertex_attrib_manager.h",
113    "vertex_attrib_manager.cc",
114  ]
115
116  configs += [
117    "//third_party/khronos:khronos_headers",
118  ]
119
120  deps = [
121    ":disk_cache_proto",
122    "//base",
123    "//base/third_party/dynamic_annotations",
124    "//crypto",
125    "//gpu/command_buffer/common",
126    "//third_party/angle:translator",
127    "//third_party/protobuf:protobuf_lite",
128    "//third_party/re2",
129    "//third_party/smhasher:cityhash",
130    "//ui/gfx",
131    "//ui/gfx/geometry",
132    "//ui/gl",
133  ]
134
135  if (ui_compositor_image_transport) {
136    include_dirs = [ "//third_party/khronos" ]
137  }
138
139  if (is_win || is_android || (is_linux && use_x11)) {
140    sources += [
141      "async_pixel_transfer_manager_egl.cc",
142      "async_pixel_transfer_manager_egl.h",
143    ]
144  }
145
146  if (is_android && !is_debug) {
147    # On Android optimize more since this component can be a bottleneck.
148    configs -= [ "//build/config/compiler:optimize" ]
149    configs += [ "//build/config/compiler:optimize_max" ]
150  }
151}
152
153proto_library("disk_cache_proto") {
154  sources = [ "disk_cache_proto.proto" ]
155}
156