Rewrite AndroidSyncSettings to be significantly simpler.
[chromium-blink-merge.git] / gpu / command_buffer / client / BUILD.gn
bloba5532cbbf08d62373f8f79d0591d047191079ca8
1 # Copyright (c) 2013 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.
5 source_set("client") {
6   sources = [
7     "cmd_buffer_helper.cc",
8     "cmd_buffer_helper.h",
9     "fenced_allocator.cc",
10     "fenced_allocator.h",
11     "gpu_control.h",
12     "mapped_memory.cc",
13     "mapped_memory.h",
14     "ring_buffer.cc",
15     "ring_buffer.h",
16     "transfer_buffer.cc",
17     "transfer_buffer.h",
18   ]
20   defines = [ "GPU_IMPLEMENTATION" ]
22   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
23   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
25   all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
27   deps = [
28     "//gpu/command_buffer/common",
29   ]
32 group("gles2_cmd_helper") {
33   if (is_component_build) {
34     deps = [
35       "//gpu",
36     ]
37   } else {
38     deps = [
39       ":gles2_cmd_helper_sources",
40     ]
41   }
44 source_set("gles2_cmd_helper_sources") {
45   visibility = [
46     ":gles2_cmd_helper",
47     "//gpu",
48   ]
49   sources = [
50     "gles2_cmd_helper.cc",
51     "gles2_cmd_helper.h",
52     "gles2_cmd_helper_autogen.h",
53   ]
55   defines = [ "GPU_IMPLEMENTATION" ]
57   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
58   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
60   deps = [
61     ":client",
62   ]
65 gles2_c_lib_source_files = [
66   "gles2_c_lib.cc",
67   "gles2_c_lib_autogen.h",
68   "gles2_c_lib_export.h",
69   "gles2_lib.cc",
70   "gles2_lib.h",
73 gles2_implementation_source_files = [
74   "buffer_tracker.cc",
75   "buffer_tracker.h",
76   "client_context_state.cc",
77   "client_context_state.h",
78   "client_context_state_autogen.h",
79   "client_context_state_impl_autogen.h",
80   "gles2_impl_export.h",
81   "gles2_implementation.cc",
82   "gles2_implementation.h",
83   "gles2_implementation_autogen.h",
84   "gles2_implementation_impl_autogen.h",
85   "gles2_trace_implementation.cc",
86   "gles2_trace_implementation.h",
87   "gles2_trace_implementation_autogen.h",
88   "gles2_trace_implementation_impl_autogen.h",
89   "gpu_switches.cc",
90   "gpu_switches.h",
91   "program_info_manager.cc",
92   "program_info_manager.h",
93   "query_tracker.cc",
94   "query_tracker.h",
95   "share_group.cc",
96   "share_group.h",
97   "vertex_array_object_manager.cc",
98   "vertex_array_object_manager.h",
101 # Provides GLES2 interface, but does not cause any implementation to be linked
102 # in. Useful when a target uses the interface, but permits its users to choose
103 # an implementation.
104 source_set("gles2_interface") {
105   sources = [
106     "gles2_interface.h",
107   ]
108   public_configs = [ "//third_party/khronos:khronos_headers" ]
109   deps = [
110     "//base",
111   ]
114 source_set("gpu_memory_buffer_manager") {
115   sources = [
116     "gpu_memory_buffer_manager.cc",
117     "gpu_memory_buffer_manager.h",
118   ]
119   deps = [
120     "//ui/gfx",
121   ]
124 # Library emulates GLES2 using command_buffers.
125 component("gles2_implementation") {
126   sources = gles2_implementation_source_files
128   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
129   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
131   defines = [ "GLES2_IMPL_IMPLEMENTATION" ]
132   all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
134   deps = [
135     ":gles2_cmd_helper",
136     ":gles2_interface",
137     "//base",
138     "//gpu/command_buffer/common",
139     "//ui/gfx/geometry",
140   ]
143 component("gl_in_process_context") {
144   sources = [
145     "gl_in_process_context.cc",
146     "gl_in_process_context.h",
147     "gl_in_process_context_export.h",
148   ]
150   defines = [ "GL_IN_PROCESS_CONTEXT_IMPLEMENTATION" ]
152   deps = [
153     ":gles2_implementation",
154     ":gpu_memory_buffer_manager",
155     "//gpu",
156     "//gpu/command_buffer/common:gles2_utils",
157     "//base",
158     "//base/third_party/dynamic_annotations",
159     "//ui/gfx/geometry",
160     "//ui/gl",
161   ]
164 component("gles2_c_lib") {
165   sources = gles2_c_lib_source_files
166   defines = [ "GLES2_C_LIB_IMPLEMENTATION" ]
168   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
169   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
171   deps = [
172     ":client",
173     ":gles2_interface",
174     "//base",
175     "//base/third_party/dynamic_annotations",
176     "//gpu/command_buffer/common",
177   ]