Reland the ULONG -> SIZE_T change from 317177
[chromium-blink-merge.git] / gpu / BUILD.gn
blob86888bdb1d616e225507c7375c7019ab9a32031c
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")
38 component("gpu") {
39   public_deps = [
40     "//gpu/command_buffer/client",
41     "//gpu/command_buffer/client:gles2_cmd_helper_sources",
42     "//gpu/command_buffer/common",
43     "//gpu/command_buffer/service",
44     "//gpu/config",
45     "//gpu/ipc",
46   ]
49 source_set("test_support") {
50   testonly = true
51   sources = [
52     "command_buffer/client/gles2_interface_stub.cc",
53     "command_buffer/client/gles2_interface_stub.h",
54     "command_buffer/service/error_state_mock.cc",
55     "command_buffer/service/gles2_cmd_decoder_mock.cc",
56   ]
58   public_deps = [
59     ":gpu",
60     "//gpu/command_buffer/client:gles2_interface",
61   ]
62   deps = [
63     "//testing/gmock",
64     "//testing/gtest",
65     "//ui/gl:gl_unittest_utils",
66   ]
69 if (!is_win || link_chrome_on_windows) {
70   test("gl_tests") {
71     sources = [
72       "command_buffer/tests/compressed_texture_test.cc",
73       "command_buffer/tests/gl_bind_uniform_location_unittest.cc",
74       "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc",
75       "command_buffer/tests/gl_chromium_path_rendering_unittest.cc",
76       "command_buffer/tests/gl_clear_framebuffer_unittest.cc",
77       "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc",
78       "command_buffer/tests/gl_depth_texture_unittest.cc",
79       "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc",
80       "command_buffer/tests/gl_lose_context_chromium_unittest.cc",
81       "command_buffer/tests/gl_manager.cc",
82       "command_buffer/tests/gl_manager.h",
83       "command_buffer/tests/gl_pointcoord_unittest.cc",
84       "command_buffer/tests/gl_program_unittest.cc",
85       "command_buffer/tests/gl_query_unittest.cc",
86       "command_buffer/tests/gl_readback_unittest.cc",
87       "command_buffer/tests/gl_shared_resources_unittest.cc",
88       "command_buffer/tests/gl_stream_draw_unittest.cc",
89       "command_buffer/tests/gl_test_utils.cc",
90       "command_buffer/tests/gl_test_utils.h",
91       "command_buffer/tests/gl_tests_main.cc",
92       "command_buffer/tests/gl_texture_mailbox_unittest.cc",
93       "command_buffer/tests/gl_texture_storage_unittest.cc",
94       "command_buffer/tests/gl_unittest.cc",
95       "command_buffer/tests/gl_unittests_android.cc",
96       "command_buffer/tests/gl_virtual_contexts_unittest.cc",
97       "command_buffer/tests/occlusion_query_unittest.cc",
98     ]
100     defines = [ "GL_GLEXT_PROTOTYPES" ]
102     configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
104     deps = [
105       ":gpu",
106       ":test_support",
107       "//base",
108       "//base/test:test_support",
109       "//base/third_party/dynamic_annotations",
110       "//testing/gmock",
111       "//testing/gtest",
112       "//third_party/angle:translator",
113       "//ui/gfx",
114       "//ui/gfx:test_support",
115       "//ui/gfx/geometry",
116       "//ui/gl",
117       "//gpu/command_buffer/common:gles2_utils",
118       "//gpu/command_buffer/client:gles2_c_lib",
119       "//gpu/command_buffer/client:gles2_implementation",
120     ]
122     libs = []
124     if (is_android) {
125       deps += [ "//testing/android:native_test_native_code" ]
126       libs += [ "android" ]
127     }
129     # TODO(GYP)
130     #     ['OS == "win"', {
131     #       'dependencies': [
132     #         '../third_party/angle/src/build_angle.gyp:libEGL',
133     #         '../third_party/angle/src/build_angle.gyp:libGLESv2',
134     #       ],
135     #     }],
136   }
138   test("gpu_unittests") {
139     sources = [
140       "command_buffer/client/buffer_tracker_unittest.cc",
141       "command_buffer/client/client_test_helper.cc",
142       "command_buffer/client/client_test_helper.h",
143       "command_buffer/client/cmd_buffer_helper_test.cc",
144       "command_buffer/client/fenced_allocator_test.cc",
145       "command_buffer/client/gles2_implementation_unittest.cc",
146       "command_buffer/client/mapped_memory_unittest.cc",
147       "command_buffer/client/program_info_manager_unittest.cc",
148       "command_buffer/client/query_tracker_unittest.cc",
149       "command_buffer/client/ring_buffer_test.cc",
150       "command_buffer/client/transfer_buffer_unittest.cc",
151       "command_buffer/client/vertex_array_object_manager_unittest.cc",
152       "command_buffer/common/bitfield_helpers_test.cc",
153       "command_buffer/common/command_buffer_mock.cc",
154       "command_buffer/common/command_buffer_mock.h",
155       "command_buffer/common/command_buffer_shared_test.cc",
156       "command_buffer/common/debug_marker_manager_unittest.cc",
157       "command_buffer/common/gles2_cmd_format_test.cc",
158       "command_buffer/common/gles2_cmd_format_test_autogen.h",
159       "command_buffer/common/gles2_cmd_utils_unittest.cc",
160       "command_buffer/common/id_allocator_test.cc",
161       "command_buffer/common/trace_event.h",
162       "command_buffer/common/unittest_main.cc",
163       "command_buffer/service/async_pixel_transfer_delegate_mock.cc",
164       "command_buffer/service/async_pixel_transfer_delegate_mock.h",
165       "command_buffer/service/async_pixel_transfer_manager_mock.cc",
166       "command_buffer/service/async_pixel_transfer_manager_mock.h",
167       "command_buffer/service/buffer_manager_unittest.cc",
168       "command_buffer/service/cmd_parser_test.cc",
169       "command_buffer/service/command_buffer_service_unittest.cc",
170       "command_buffer/service/common_decoder_unittest.cc",
171       "command_buffer/service/context_group_unittest.cc",
172       "command_buffer/service/feature_info_unittest.cc",
173       "command_buffer/service/framebuffer_manager_unittest.cc",
174       "command_buffer/service/gl_surface_mock.cc",
175       "command_buffer/service/gl_surface_mock.h",
176       "command_buffer/service/gles2_cmd_decoder_unittest.cc",
177       "command_buffer/service/gles2_cmd_decoder_unittest.h",
178       "command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h",
179       "command_buffer/service/gles2_cmd_decoder_unittest_1.cc",
180       "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h",
181       "command_buffer/service/gles2_cmd_decoder_unittest_2.cc",
182       "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h",
183       "command_buffer/service/gles2_cmd_decoder_unittest_3.cc",
184       "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h",
185       "command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc",
186       "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc",
187       "command_buffer/service/gles2_cmd_decoder_unittest_base.cc",
188       "command_buffer/service/gles2_cmd_decoder_unittest_base.h",
189       "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc",
190       "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc",
191       "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc",
192       "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc",
193       "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc",
194       "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc",
195       "command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc",
196       "command_buffer/service/gpu_scheduler_unittest.cc",
197       "command_buffer/service/gpu_service_test.cc",
198       "command_buffer/service/gpu_service_test.h",
199       "command_buffer/service/gpu_tracer_unittest.cc",
200       "command_buffer/service/id_manager_unittest.cc",
201       "command_buffer/service/mailbox_manager_unittest.cc",
202       "command_buffer/service/memory_program_cache_unittest.cc",
203       "command_buffer/service/mocks.cc",
204       "command_buffer/service/mocks.h",
205       "command_buffer/service/program_cache_unittest.cc",
206       "command_buffer/service/program_manager_unittest.cc",
207       "command_buffer/service/query_manager_unittest.cc",
208       "command_buffer/service/renderbuffer_manager_unittest.cc",
209       "command_buffer/service/shader_manager_unittest.cc",
210       "command_buffer/service/shader_translator_cache_unittest.cc",
211       "command_buffer/service/shader_translator_unittest.cc",
212       "command_buffer/service/test_helper.cc",
213       "command_buffer/service/test_helper.h",
214       "command_buffer/service/texture_manager_unittest.cc",
215       "command_buffer/service/transfer_buffer_manager_unittest.cc",
216       "command_buffer/service/valuebuffer_manager_unittest.cc",
217       "command_buffer/service/vertex_array_manager_unittest.cc",
218       "command_buffer/service/vertex_attrib_manager_unittest.cc",
219       "config/gpu_blacklist_unittest.cc",
220       "config/gpu_control_list_entry_unittest.cc",
221       "config/gpu_control_list_number_info_unittest.cc",
222       "config/gpu_control_list_os_info_unittest.cc",
223       "config/gpu_control_list_unittest.cc",
224       "config/gpu_control_list_version_info_unittest.cc",
225       "config/gpu_driver_bug_list_unittest.cc",
226       "config/gpu_info_collector_unittest.cc",
227       "config/gpu_info_unittest.cc",
228       "config/gpu_test_config_unittest.cc",
229       "config/gpu_test_expectations_parser_unittest.cc",
230       "config/gpu_util_unittest.cc",
231     ]
233     configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
235     deps = [
236       ":gpu",
237       ":test_support",
238       "//base",
239       "//base/test:test_support",
240       "//base/third_party/dynamic_annotations",
241       "//testing/gmock",
242       "//testing/gtest",
243       "//third_party/angle:translator",
244       "//ui/gfx",
245       "//ui/gfx:test_support",
246       "//ui/gfx/geometry",
247       "//ui/gl",
248       "//gpu/command_buffer/common:gles2_utils",
249       "//gpu/command_buffer/client:gles2_c_lib",
250       "//gpu/command_buffer/client:gles2_implementation",
251     ]
252   }
254   test("gpu_perftests") {
255     sources = [
256       "perftests/measurements.cc",
257       "perftests/run_all_tests.cc",
258       "perftests/texture_upload_perftest.cc",
259     ]
261     deps = [
262       "//base",
263       "//base/test:test_support",
264       "//gpu/command_buffer/service",
265       "//testing/gtest",
266       "//testing/perf",
267       "//ui/gfx/geometry",
268       "//ui/gl",
269     ]
270   }
272   test("angle_unittests") {
273     sources = [
274       "angle_unittest_main.cc",
275     ]
277     deps = [
278       "//base",
279       "//base/test:test_support",
280       "//base/third_party/dynamic_annotations",
281       "//testing/gmock",
282       "//testing/gtest",
283       "//third_party/angle:translator_static",
284     ]
285   }