Show Pages in chrome://md-settings
[chromium-blink-merge.git] / gpu / BUILD.gn
blobc7f70eb7e5adc30e11db0457ee988a2e5ff0dd1d
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.
5 # GYP-to-GN project mappings:
7 #  gpu.gyp:command_buffer_client => //gpu/command_buffer/client
9 #  gpu.gyp:command_buffer_common => //gpu/command_buffer/common
11 #  gpu.gyp:command_buffer_service => //gpu/command_buffer/service
13 #  gpu/gpu.gyp:gl_in_process_context =>
14 #      //gpu/command_buffer/client:gl_in_process_context
16 #  gpu.gyp:gles2_cmd_helper => //gpu/command_buffer/client:gles2_cmd_helper
18 #  gpu.gyp:gles2_c_lib => //gpu/command_buffer/client:gles2_c_lib
20 #  gpu.gyp:gles2_implementation =>
21 #      //gpu/command_buffer/client:gles2_implementation
23 #  gpu.gyp:gpu_config => //gpu/config
25 #  gpu.gyp:gpu_ipc => //gpu/ipc
27 #  gpu.gyp:disk_cache_proto => //gpu/command_buffer/service:disk_cache_proto
29 #  command_buffer/command_buffer.gyp:gles2_utils =>
30 #     //gpu/command_buffer/common
31 #     (Merged in to here because the separate file exists in GYP only to break
32 #     a .gyp file dependency cycle which GN doesn't have.)
34 # gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings => //gpu/skia_bindings
36 import("//testing/test.gni")
37 import("//build/config/ui.gni")
39 config("gpu_implementation") {
40   defines = [ "GPU_IMPLEMENTATION" ]
43 component("gpu") {
44   public_deps = [
45     "//gpu/command_buffer/client",
46     "//gpu/command_buffer/client:gles2_cmd_helper_sources",
47     "//gpu/command_buffer/common",
48     "//gpu/command_buffer/service",
49     "//gpu/config",
50     "//gpu/ipc",
51   ]
54 source_set("test_support") {
55   testonly = true
56   sources = [
57     "command_buffer/client/gles2_interface_stub.cc",
58     "command_buffer/client/gles2_interface_stub.h",
59     "command_buffer/service/error_state_mock.cc",
60     "command_buffer/service/gles2_cmd_decoder_mock.cc",
61   ]
63   configs += [ ":gpu_implementation" ]
65   public_deps = [
66     ":gpu",
67     "//gpu/command_buffer/client:gles2_interface",
68   ]
69   deps = [
70     "//testing/gmock",
71     "//testing/gtest",
72     "//ui/gl:gl_unittest_utils",
73   ]
76 test("gl_tests") {
77   sources = [
78     "command_buffer/tests/compressed_texture_test.cc",
79     "command_buffer/tests/gl_bind_uniform_location_unittest.cc",
80     "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc",
81     "command_buffer/tests/gl_chromium_path_rendering_unittest.cc",
82     "command_buffer/tests/gl_clear_framebuffer_unittest.cc",
83     "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc",
84     "command_buffer/tests/gl_depth_texture_unittest.cc",
85     "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc",
86     "command_buffer/tests/gl_lose_context_chromium_unittest.cc",
87     "command_buffer/tests/gl_manager.cc",
88     "command_buffer/tests/gl_manager.h",
89     "command_buffer/tests/gl_pointcoord_unittest.cc",
90     "command_buffer/tests/gl_program_unittest.cc",
91     "command_buffer/tests/gl_query_unittest.cc",
92     "command_buffer/tests/gl_readback_unittest.cc",
93     "command_buffer/tests/gl_shared_resources_unittest.cc",
94     "command_buffer/tests/gl_stream_draw_unittest.cc",
95     "command_buffer/tests/gl_test_utils.cc",
96     "command_buffer/tests/gl_test_utils.h",
97     "command_buffer/tests/gl_tests_main.cc",
98     "command_buffer/tests/gl_texture_mailbox_unittest.cc",
99     "command_buffer/tests/gl_texture_storage_unittest.cc",
100     "command_buffer/tests/gl_unittest.cc",
101     "command_buffer/tests/gl_unittests_android.cc",
102     "command_buffer/tests/gl_virtual_contexts_unittest.cc",
103     "command_buffer/tests/occlusion_query_unittest.cc",
104   ]
106   defines = [ "GL_GLEXT_PROTOTYPES" ]
108   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
110   deps = [
111     ":gpu",
112     ":test_support",
113     "//base",
114     "//base/test:test_support",
115     "//base/third_party/dynamic_annotations",
116     "//testing/gmock",
117     "//testing/gtest",
118     "//third_party/angle:translator",
119     "//ui/gfx",
120     "//ui/gfx:test_support",
121     "//ui/gfx/geometry",
122     "//ui/gl",
123     "//gpu/command_buffer/common:gles2_utils",
124     "//gpu/command_buffer/client:gles2_c_lib",
125     "//gpu/command_buffer/client:gles2_implementation",
126   ]
128   libs = []
130   if (is_android) {
131     deps += [ "//testing/android:native_test_native_code" ]
132     libs += [ "android" ]
133   }
135   # TODO(GYP)
136   #     ['OS == "win"', {
137   #       'dependencies': [
138   #         '../third_party/angle/src/build_angle.gyp:libEGL',
139   #         '../third_party/angle/src/build_angle.gyp:libGLESv2',
140   #       ],
141   #     }],
144 test("gpu_unittests") {
145   sources = [
146     "command_buffer/client/buffer_tracker_unittest.cc",
147     "command_buffer/client/client_test_helper.cc",
148     "command_buffer/client/client_test_helper.h",
149     "command_buffer/client/cmd_buffer_helper_test.cc",
150     "command_buffer/client/fenced_allocator_test.cc",
151     "command_buffer/client/gles2_implementation_unittest.cc",
152     "command_buffer/client/mapped_memory_unittest.cc",
153     "command_buffer/client/program_info_manager_unittest.cc",
154     "command_buffer/client/query_tracker_unittest.cc",
155     "command_buffer/client/ring_buffer_test.cc",
156     "command_buffer/client/transfer_buffer_unittest.cc",
157     "command_buffer/client/vertex_array_object_manager_unittest.cc",
158     "command_buffer/common/bitfield_helpers_test.cc",
159     "command_buffer/common/command_buffer_mock.cc",
160     "command_buffer/common/command_buffer_mock.h",
161     "command_buffer/common/command_buffer_shared_test.cc",
162     "command_buffer/common/debug_marker_manager_unittest.cc",
163     "command_buffer/common/gles2_cmd_format_test.cc",
164     "command_buffer/common/gles2_cmd_format_test_autogen.h",
165     "command_buffer/common/gles2_cmd_utils_unittest.cc",
166     "command_buffer/common/id_allocator_test.cc",
167     "command_buffer/common/trace_event.h",
168     "command_buffer/common/unittest_main.cc",
169     "command_buffer/service/async_pixel_transfer_delegate_mock.cc",
170     "command_buffer/service/async_pixel_transfer_delegate_mock.h",
171     "command_buffer/service/async_pixel_transfer_manager_mock.cc",
172     "command_buffer/service/async_pixel_transfer_manager_mock.h",
173     "command_buffer/service/buffer_manager_unittest.cc",
174     "command_buffer/service/cmd_parser_test.cc",
175     "command_buffer/service/command_buffer_service_unittest.cc",
176     "command_buffer/service/common_decoder_unittest.cc",
177     "command_buffer/service/context_group_unittest.cc",
178     "command_buffer/service/feature_info_unittest.cc",
179     "command_buffer/service/framebuffer_manager_unittest.cc",
180     "command_buffer/service/gl_surface_mock.cc",
181     "command_buffer/service/gl_surface_mock.h",
182     "command_buffer/service/gles2_cmd_decoder_unittest.cc",
183     "command_buffer/service/gles2_cmd_decoder_unittest.h",
184     "command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h",
185     "command_buffer/service/gles2_cmd_decoder_unittest_1.cc",
186     "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h",
187     "command_buffer/service/gles2_cmd_decoder_unittest_2.cc",
188     "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h",
189     "command_buffer/service/gles2_cmd_decoder_unittest_3.cc",
190     "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h",
191     "command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc",
192     "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc",
193     "command_buffer/service/gles2_cmd_decoder_unittest_base.cc",
194     "command_buffer/service/gles2_cmd_decoder_unittest_base.h",
195     "command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc",
196     "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc",
197     "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc",
198     "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc",
199     "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc",
200     "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc",
201     "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc",
202     "command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc",
203     "command_buffer/service/gpu_scheduler_unittest.cc",
204     "command_buffer/service/gpu_service_test.cc",
205     "command_buffer/service/gpu_service_test.h",
206     "command_buffer/service/gpu_tracer_unittest.cc",
207     "command_buffer/service/id_manager_unittest.cc",
208     "command_buffer/service/mailbox_manager_unittest.cc",
209     "command_buffer/service/memory_program_cache_unittest.cc",
210     "command_buffer/service/mocks.cc",
211     "command_buffer/service/mocks.h",
212     "command_buffer/service/program_cache_unittest.cc",
213     "command_buffer/service/program_manager_unittest.cc",
214     "command_buffer/service/query_manager_unittest.cc",
215     "command_buffer/service/renderbuffer_manager_unittest.cc",
216     "command_buffer/service/shader_manager_unittest.cc",
217     "command_buffer/service/shader_translator_cache_unittest.cc",
218     "command_buffer/service/shader_translator_unittest.cc",
219     "command_buffer/service/test_helper.cc",
220     "command_buffer/service/test_helper.h",
221     "command_buffer/service/texture_manager_unittest.cc",
222     "command_buffer/service/transfer_buffer_manager_unittest.cc",
223     "command_buffer/service/valuebuffer_manager_unittest.cc",
224     "command_buffer/service/vertex_array_manager_unittest.cc",
225     "command_buffer/service/vertex_attrib_manager_unittest.cc",
226     "config/gpu_blacklist_unittest.cc",
227     "config/gpu_control_list_entry_unittest.cc",
228     "config/gpu_control_list_number_info_unittest.cc",
229     "config/gpu_control_list_os_info_unittest.cc",
230     "config/gpu_control_list_unittest.cc",
231     "config/gpu_control_list_version_info_unittest.cc",
232     "config/gpu_driver_bug_list_unittest.cc",
233     "config/gpu_info_collector_unittest.cc",
234     "config/gpu_info_unittest.cc",
235     "config/gpu_test_config_unittest.cc",
236     "config/gpu_test_expectations_parser_unittest.cc",
237     "config/gpu_util_unittest.cc",
238   ]
240   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
242   deps = [
243     ":gpu",
244     ":test_support",
245     "//base",
246     "//base/test:test_support",
247     "//base/third_party/dynamic_annotations",
248     "//testing/gmock",
249     "//testing/gtest",
250     "//third_party/angle:translator",
251     "//ui/gfx",
252     "//ui/gfx:test_support",
253     "//ui/gfx/geometry",
254     "//ui/gl",
255     "//gpu/command_buffer/common:gles2_utils",
256     "//gpu/command_buffer/client:gles2_c_lib",
257     "//gpu/command_buffer/client:gles2_implementation",
258   ]
261 test("gpu_perftests") {
262   sources = [
263     "perftests/measurements.cc",
264     "perftests/run_all_tests.cc",
265     "perftests/texture_upload_perftest.cc",
266   ]
268   deps = [
269     "//base",
270     "//base/test:test_support",
271     "//gpu/command_buffer/service",
272     "//testing/gmock",
273     "//testing/gtest",
274     "//testing/perf",
275     "//ui/gfx/geometry",
276     "//ui/gl",
277   ]
280 test("angle_unittests") {
281   sources = [
282     "angle_unittest_main.cc",
283   ]
285   deps = [
286     "//base",
287     "//base/test:test_support",
288     "//base/third_party/dynamic_annotations",
289     "//testing/gmock",
290     "//testing/gtest",
291     "//third_party/angle:translator_static",
292   ]
295 if (is_linux && !is_chromeos && target_cpu != "arm" && use_x11) {
296   executable("compositor_model_bench") {
297     sources = [
298       "tools/compositor_model_bench/compositor_model_bench.cc",
299       "tools/compositor_model_bench/forward_render_model.cc",
300       "tools/compositor_model_bench/render_model_utils.cc",
301       "tools/compositor_model_bench/render_models.cc",
302       "tools/compositor_model_bench/render_tree.cc",
303       "tools/compositor_model_bench/shaders.cc",
304     ]
306     libs = [ "GL" ]
308     configs += [ "//build/config/linux:x11" ]
310     deps = [
311       "//base",
312       "//ui/gl",
313     ]
314   }