Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / gpu / gpu.gyp
blobc32d64e0a13c98e77c7b8e08b72c5c537f67c357
1 # Copyright (c) 2012 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.
6   'variables': {
7     'nacl_win64_target': 0,
8   },
9   'includes': [
10     'gpu_common.gypi',
11   ],
12   'targets': [
13     {
14       # Library emulates GLES2 using command_buffers.
15       # GN version: //gpu/command_buffer/client:gles2_implementation
16       'target_name': 'gles2_implementation',
17       'type': '<(component)',
18       'dependencies': [
19         '../base/base.gyp:base',
20         '../third_party/khronos/khronos.gyp:khronos_headers',
21         '../ui/gfx/gfx.gyp:gfx_geometry',
22         '../ui/gl/gl.gyp:gl',
23         'command_buffer/command_buffer.gyp:gles2_utils',
24         'gles2_cmd_helper',
25       ],
26       'defines': [
27         'GLES2_IMPL_IMPLEMENTATION',
28       ],
29       'sources': [
30         '<@(gles2_implementation_source_files)',
31       ],
32       'includes': [
33         # Disable LTO due to ELF section name out of range
34         # crbug.com/422251
35         '../build/android/disable_lto.gypi',
36       ],
37       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
38       'msvs_disabled_warnings': [4267, ],
39     },
40     {
41       # GN version: //gpu/command_buffer/client:gl_in_process_context
42       'target_name': 'gl_in_process_context',
43       'type': '<(component)',
44       'dependencies': [
45         'command_buffer/command_buffer.gyp:gles2_utils',
46         'gles2_implementation',
47         'gpu',
48         '../base/base.gyp:base',
49         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
50         '../ui/gfx/gfx.gyp:gfx_geometry',
51         '../ui/gl/gl.gyp:gl',
52       ],
53       'defines': [
54         'GL_IN_PROCESS_CONTEXT_IMPLEMENTATION',
55       ],
56       'sources': [
57         'command_buffer/client/gl_in_process_context.cc',
58         'command_buffer/client/gl_in_process_context.h',
59         'command_buffer/client/gl_in_process_context_export.h',
60       ],
61     },
62     {
63       # Library emulates GLES2 using command_buffers.
64       'target_name': 'gles2_implementation_no_check',
65       'type': '<(component)',
66       'defines': [
67         'GLES2_IMPL_IMPLEMENTATION',
68         'GLES2_CONFORMANCE_TESTS=1',
69       ],
70       'dependencies': [
71         '../base/base.gyp:base',
72         '../third_party/khronos/khronos.gyp:khronos_headers',
73         '../ui/gfx/gfx.gyp:gfx',
74         '../ui/gfx/gfx.gyp:gfx_geometry',
75         'command_buffer/command_buffer.gyp:gles2_utils',
76         'gles2_cmd_helper',
77       ],
78       'sources': [
79         '<@(gles2_implementation_source_files)',
80       ],
81       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
82       'msvs_disabled_warnings': [ 4267, ],
83     },
84     {
85       # Stub to expose gles2_implemenation in C instead of C++.
86       # so GLES2 C programs can work with no changes.
87       # GN version: //gpu/command_buffer/client:gles2_c_lib
88       'target_name': 'gles2_c_lib',
89       'type': '<(component)',
90       'dependencies': [
91         '../base/base.gyp:base',
92         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
93         'command_buffer/command_buffer.gyp:gles2_utils',
94         'command_buffer_client',
95       ],
96       'defines': [
97         'GLES2_C_LIB_IMPLEMENTATION',
98       ],
99       'sources': [
100         '<@(gles2_c_lib_source_files)',
101       ],
102       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
103       'msvs_disabled_warnings': [4267, ],
104     },
105     {
106       # GN version: //gpu/command_buffer/client:gles2_c_lib_nocheck
107       # Same as gles2_c_lib except with no parameter checking. Required for
108       # OpenGL ES 2.0 conformance tests.
109       'target_name': 'gles2_c_lib_nocheck',
110       'type': '<(component)',
111       'defines': [
112         'GLES2_C_LIB_IMPLEMENTATION',
113         'GLES2_CONFORMANCE_TESTS=1',
114       ],
115       'dependencies': [
116         '../base/base.gyp:base',
117         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
118         'command_buffer/command_buffer.gyp:gles2_utils',
119         'command_buffer_client',
120         'gles2_implementation_no_check',
121       ],
122       'sources': [
123         '<@(gles2_c_lib_source_files)',
124       ],
125     },
126     {
127       # GN version: //gpu:angle_unittests
128       # TODO(kbr): port this refactoring to the GN build.
129       'target_name': 'angle_unittests',
130       'type': '<(gtest_target_type)',
131       'includes': [
132         '../third_party/angle/build/common_defines.gypi',
133         '../third_party/angle/src/tests/angle_unittests.gypi',
134       ],
135       'dependencies': [
136         '../base/base.gyp:base',
137         '../base/base.gyp:test_support_base',
138       ],
139       'include_dirs': [
140         '..',
141         '../third_party/angle/include',
142       ],
143       'sources': [
144         'angle_unittest_main.cc',
145       ],
146     },
147     {
148       # GN version: //gpu:gpu_unittests
149       'target_name': 'gpu_unittests',
150       'type': '<(gtest_target_type)',
151       'dependencies': [
152         '../base/base.gyp:base',
153         '../base/base.gyp:test_support_base',
154         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
155         '../testing/gmock.gyp:gmock',
156         '../testing/gtest.gyp:gtest',
157         '<(angle_path)/src/angle.gyp:translator',
158         '../ui/gfx/gfx.gyp:gfx',
159         '../ui/gfx/gfx.gyp:gfx_geometry',
160         '../ui/gfx/gfx.gyp:gfx_test_support',
161         '../ui/gl/gl.gyp:gl',
162         '../ui/gl/gl.gyp:gl_test_support',
163         'command_buffer/command_buffer.gyp:gles2_utils',
164         'command_buffer_client',
165         'command_buffer_common',
166         'command_buffer_service',
167         'gpu',
168         'gpu_unittest_utils',
169         'gles2_implementation',
170         'gles2_cmd_helper',
171         'gles2_c_lib',
172       ],
173       'sources': [
174         # Note: sources list duplicated in GN build.
175         'command_buffer/client/buffer_tracker_unittest.cc',
176         'command_buffer/client/client_test_helper.cc',
177         'command_buffer/client/client_test_helper.h',
178         'command_buffer/client/cmd_buffer_helper_test.cc',
179         'command_buffer/client/fenced_allocator_test.cc',
180         'command_buffer/client/gles2_implementation_unittest.cc',
181         'command_buffer/client/mapped_memory_unittest.cc',
182         'command_buffer/client/program_info_manager_unittest.cc',
183         'command_buffer/client/query_tracker_unittest.cc',
184         'command_buffer/client/ring_buffer_test.cc',
185         'command_buffer/client/transfer_buffer_unittest.cc',
186         'command_buffer/client/vertex_array_object_manager_unittest.cc',
187         'command_buffer/common/bitfield_helpers_test.cc',
188         'command_buffer/common/command_buffer_mock.cc',
189         'command_buffer/common/command_buffer_mock.h',
190         'command_buffer/common/command_buffer_shared_test.cc',
191         'command_buffer/common/debug_marker_manager_unittest.cc',
192         'command_buffer/common/gles2_cmd_format_test.cc',
193         'command_buffer/common/gles2_cmd_format_test_autogen.h',
194         'command_buffer/common/gles2_cmd_utils_unittest.cc',
195         'command_buffer/common/id_allocator_test.cc',
196         'command_buffer/common/trace_event.h',
197         'command_buffer/common/unittest_main.cc',
198         'command_buffer/service/async_pixel_transfer_delegate_mock.cc',
199         'command_buffer/service/async_pixel_transfer_delegate_mock.h',
200         'command_buffer/service/async_pixel_transfer_manager_mock.cc',
201         'command_buffer/service/async_pixel_transfer_manager_mock.h',
202         'command_buffer/service/buffer_manager_unittest.cc',
203         'command_buffer/service/cmd_parser_test.cc',
204         'command_buffer/service/command_buffer_service_unittest.cc',
205         'command_buffer/service/common_decoder_unittest.cc',
206         'command_buffer/service/context_group_unittest.cc',
207         'command_buffer/service/context_state_unittest.cc',
208         'command_buffer/service/feature_info_unittest.cc',
209         'command_buffer/service/framebuffer_manager_unittest.cc',
210         'command_buffer/service/gl_context_mock.cc',
211         'command_buffer/service/gl_context_mock.h',
212         'command_buffer/service/gl_surface_mock.cc',
213         'command_buffer/service/gl_surface_mock.h',
214         'command_buffer/service/gles2_cmd_decoder_unittest.cc',
215         'command_buffer/service/gles2_cmd_decoder_unittest.h',
216         'command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h',
217         'command_buffer/service/gles2_cmd_decoder_unittest_1.cc',
218         'command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h',
219         'command_buffer/service/gles2_cmd_decoder_unittest_2.cc',
220         'command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h',
221         'command_buffer/service/gles2_cmd_decoder_unittest_3.cc',
222         'command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h',
223         'command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc',
224         'command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc',
225         'command_buffer/service/gles2_cmd_decoder_unittest_base.cc',
226         'command_buffer/service/gles2_cmd_decoder_unittest_base.h',
227         'command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc',
228         'command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc',
229         'command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc',
230         'command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc',
231         'command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc',
232         'command_buffer/service/gles2_cmd_decoder_unittest_extensions_autogen.h',
233         'command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc',
234         'command_buffer/service/gles2_cmd_decoder_unittest_programs.cc',
235         'command_buffer/service/gles2_cmd_decoder_unittest_textures.cc',
236         'command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc',
237         'command_buffer/service/gpu_scheduler_unittest.cc',
238         'command_buffer/service/gpu_service_test.cc',
239         'command_buffer/service/gpu_service_test.h',
240         'command_buffer/service/gpu_tracer_unittest.cc',
241         'command_buffer/service/id_manager_unittest.cc',
242         'command_buffer/service/mailbox_manager_unittest.cc',
243         'command_buffer/service/memory_program_cache_unittest.cc',
244         'command_buffer/service/mocks.cc',
245         'command_buffer/service/mocks.h',
246         'command_buffer/service/program_cache_unittest.cc',
247         'command_buffer/service/program_manager_unittest.cc',
248         'command_buffer/service/query_manager_unittest.cc',
249         'command_buffer/service/renderbuffer_manager_unittest.cc',
250         'command_buffer/service/shader_manager_unittest.cc',
251         'command_buffer/service/shader_translator_cache_unittest.cc',
252         'command_buffer/service/shader_translator_unittest.cc',
253         'command_buffer/service/test_helper.cc',
254         'command_buffer/service/test_helper.h',
255         'command_buffer/service/path_manager_unittest.cc',
256         'command_buffer/service/texture_manager_unittest.cc',
257         'command_buffer/service/transfer_buffer_manager_unittest.cc',
258         'command_buffer/service/valuebuffer_manager_unittest.cc',
259         'command_buffer/service/vertex_array_manager_unittest.cc',
260         'command_buffer/service/vertex_attrib_manager_unittest.cc',
261         'config/gpu_blacklist_unittest.cc',
262         'config/gpu_control_list_entry_unittest.cc',
263         'config/gpu_control_list_number_info_unittest.cc',
264         'config/gpu_control_list_os_info_unittest.cc',
265         'config/gpu_control_list_unittest.cc',
266         'config/gpu_control_list_version_info_unittest.cc',
267         'config/gpu_driver_bug_list_unittest.cc',
268         'config/gpu_info_collector_unittest.cc',
269         'config/gpu_info_unittest.cc',
270         'config/gpu_test_config_unittest.cc',
271         'config/gpu_test_expectations_parser_unittest.cc',
272         'config/gpu_util_unittest.cc',
273       ],
274       'conditions': [
275         ['OS == "android"', {
276           'dependencies': [
277             '../testing/android/native_test.gyp:native_test_native_code',
278           ],
279         }],
280         # See http://crbug.com/162998#c4 for why this is needed.
281         ['OS=="linux" and use_allocator!="none"', {
282           'dependencies': [
283             '../base/allocator/allocator.gyp:allocator',
284           ],
285         }],
286       ],
287       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
288       'msvs_disabled_warnings': [ 4267, ],
289     },
290     {
291       # GN version: //gpu/gpu_perftests
292       'target_name': 'gpu_perftests',
293       'type': '<(gtest_target_type)',
294       'dependencies': [
295         '../base/base.gyp:base',
296         '../base/base.gyp:test_support_base',
297         '../testing/gmock.gyp:gmock',
298         '../testing/gtest.gyp:gtest',
299         '../testing/perf/perf_test.gyp:perf_test',
300         '../ui/gfx/gfx.gyp:gfx_geometry',
301         '../ui/gl/gl.gyp:gl',
302         'command_buffer_service',
303       ],
304       'sources': [
305         'perftests/measurements.cc',
306         'perftests/run_all_tests.cc',
307         'perftests/texture_upload_perftest.cc',
308       ],
309       'conditions': [
310         ['OS == "android"',
311           {
312             'dependencies': [
313               '../testing/android/native_test.gyp:native_test_native_code',
314             ],
315           }
316         ],
317         # See http://crbug.com/162998#c4 for why this is needed.
318         ['OS=="linux" and use_allocator!="none"',
319           {
320             'dependencies': [
321               '../base/allocator/allocator.gyp:allocator',
322             ],
323           }
324         ],
325       ],
326     },
327     {
328       # GN version: //gpu:gl_tests
329       'target_name': 'gl_tests',
330       'type': '<(gtest_target_type)',
331       'dependencies': [
332         '../base/base.gyp:base',
333         '../base/base.gyp:test_support_base',
334         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
335         '../testing/gmock.gyp:gmock',
336         '../testing/gtest.gyp:gtest',
337         '<(angle_path)/src/angle.gyp:translator',
338         '../ui/gfx/gfx.gyp:gfx',
339         '../ui/gfx/gfx.gyp:gfx_test_support',
340         '../ui/gfx/gfx.gyp:gfx_geometry',
341         '../ui/gl/gl.gyp:gl',
342         'command_buffer/command_buffer.gyp:gles2_utils',
343         'command_buffer_client',
344         'command_buffer_common',
345         'command_buffer_service',
346         'gpu',
347         'gpu_unittest_utils',
348         'gles2_implementation',
349         'gles2_cmd_helper',
350         'gles2_c_lib',
351         #'gl_unittests',
352       ],
353       'defines': [
354         'GL_GLEXT_PROTOTYPES',
355       ],
356       'sources': [
357         # Note: sources list duplicated in GN build.
358         'command_buffer/tests/compressed_texture_test.cc',
359         'command_buffer/tests/gl_bind_uniform_location_unittest.cc',
360         'command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc',
361         'command_buffer/tests/gl_chromium_path_rendering_unittest.cc',
362         'command_buffer/tests/gl_clear_framebuffer_unittest.cc',
363         'command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc',
364         'command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc',
365         'command_buffer/tests/gl_depth_texture_unittest.cc',
366         'command_buffer/tests/gl_gpu_memory_buffer_unittest.cc',
367         'command_buffer/tests/gl_lose_context_chromium_unittest.cc',
368         'command_buffer/tests/gl_manager.cc',
369         'command_buffer/tests/gl_manager.h',
370         'command_buffer/tests/gl_pointcoord_unittest.cc',
371         'command_buffer/tests/gl_program_unittest.cc',
372         'command_buffer/tests/gl_query_unittest.cc',
373         'command_buffer/tests/gl_readback_unittest.cc',
374         'command_buffer/tests/gl_shared_resources_unittest.cc',
375         'command_buffer/tests/gl_stream_draw_unittest.cc',
376         'command_buffer/tests/gl_test_utils.cc',
377         'command_buffer/tests/gl_test_utils.h',
378         'command_buffer/tests/gl_tests_main.cc',
379         'command_buffer/tests/gl_texture_mailbox_unittest.cc',
380         'command_buffer/tests/gl_texture_storage_unittest.cc',
381         'command_buffer/tests/gl_unittest.cc',
382         'command_buffer/tests/gl_unittests_android.cc',
383         'command_buffer/tests/gl_virtual_contexts_unittest.cc',
384         'command_buffer/tests/occlusion_query_unittest.cc',
385       ],
386       'conditions': [
387         ['OS == "android"', {
388           'dependencies': [
389             '../testing/android/native_test.gyp:native_test_native_code',
390           ],
391         }],
392         ['OS == "win"', {
393           'dependencies': [
394             '../third_party/angle/src/angle.gyp:libEGL',
395             '../third_party/angle/src/angle.gyp:libGLESv2',
396           ],
397         }],
398       ],
399       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
400       'msvs_disabled_warnings': [ 4267, ],
401     },
402     {
403       # GN version: //gpu:test_support
404       'target_name': 'gpu_unittest_utils',
405       'type': 'static_library',
406       'dependencies': [
407         '../testing/gmock.gyp:gmock',
408         '../testing/gtest.gyp:gtest',
409         '../third_party/khronos/khronos.gyp:khronos_headers',
410         '../ui/gl/gl.gyp:gl_unittest_utils',
411         'gpu',
412       ],
413       'include_dirs': [
414         '..',
415       ],
416       'sources': [
417         'command_buffer/client/gles2_interface_stub.cc',
418         'command_buffer/client/gles2_interface_stub.h',
419         'command_buffer/service/error_state_mock.cc',
420         'command_buffer/service/gles2_cmd_decoder_mock.cc',
421       ],
422     },
423   ],
424   'conditions': [
425     ['component=="static_library"', {
426       'targets': [
427          {
428           # GN version: //gpu/command_buffer/service:disk_cache_proto
429           'target_name': 'disk_cache_proto',
430           'type': 'static_library',
431           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
432           'variables': {
433             'proto_in_dir': 'command_buffer/service',
434             'proto_out_dir': 'gpu/command_buffer/service',
435           },
436           'includes': [ '../build/protoc.gypi' ],
437         },
438         {
439           # GN version: //gpu
440           'target_name': 'gpu',
441           'type': 'none',
442           'dependencies': [
443             'command_buffer_client',
444             'command_buffer_common',
445             'command_buffer_service',
446             'gles2_cmd_helper',
447             'gpu_config',
448             'gpu_ipc',
449           ],
450           'sources': [
451             'gpu_export.h',
452           ],
453           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
454           'msvs_disabled_warnings': [4267, ],
455         },
456         {
457           # GN version: //gpu/command_buffer/common
458           'target_name': 'command_buffer_common',
459           'type': 'static_library',
460           'includes': [
461             'command_buffer_common.gypi',
462           ],
463           'dependencies': [
464             '../base/base.gyp:base',
465             'command_buffer/command_buffer.gyp:gles2_utils',
466           ],
467           'export_dependent_settings': [
468             '../base/base.gyp:base',
469           ],
470         },
471         {
472           # Library helps make GLES2 command buffers.
473           # GN version: //gpu/command_buffer/client:gles2_cmd_helper
474           'target_name': 'gles2_cmd_helper',
475           'type': 'static_library',
476           'includes': [
477             'gles2_cmd_helper.gypi',
478           ],
479           'dependencies': [
480             'command_buffer_client',
481           ],
482           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
483           'msvs_disabled_warnings': [4267, ],
484         },
485         {
486           # GN version: //gpu/command_buffer/client
487           'target_name': 'command_buffer_client',
488           'type': 'static_library',
489           'includes': [
490             'command_buffer_client.gypi',
491           ],
492           'dependencies': [
493             'command_buffer_common',
494           ],
495           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
496           'msvs_disabled_warnings': [4267, ],
497         },
498         {
499           # GN version: //gpu/command_buffer/service
500           'target_name': 'command_buffer_service',
501           'type': 'static_library',
502           'includes': [
503             'command_buffer_service.gypi',
504             '../build/android/increase_size_for_speed.gypi',
505             # Disable LTO due to ELF section name out of range
506             # crbug.com/422251
507             '../build/android/disable_lto.gypi',
508           ],
509           'dependencies': [
510             'command_buffer_common',
511             'disk_cache_proto',
512             'gpu_config',
513           ],
514           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
515           'msvs_disabled_warnings': [4267, ],
516         },
517         {
518           # GN version: //gpu/ipc
519           'target_name': 'gpu_ipc',
520           'type': 'static_library',
521           'includes': [
522             'gpu_ipc.gypi',
523           ],
524           'dependencies': [
525             'command_buffer_common',
526           ],
527         },
528         {
529           'target_name': 'gpu_config',
530           'type': 'static_library',
531           'includes': [
532             'gpu_config.gypi',
533           ],
534         },
535       ],
536     },
537     { # component != static_library
538       'targets': [
539          {
540           # GN version: //gpu/command_buffer/service:disk_cache_proto
541           'target_name': 'disk_cache_proto',
542           'type': 'static_library',
543           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
544           'variables': {
545             'proto_in_dir': 'command_buffer/service',
546             'proto_out_dir': 'gpu/command_buffer/service',
547           },
548           'includes': [ '../build/protoc.gypi' ],
549         },
550         {
551           # GN version: //gpu
552           'target_name': 'gpu',
553           'type': 'shared_library',
554           'includes': [
555             'command_buffer_client.gypi',
556             'command_buffer_common.gypi',
557             'command_buffer_service.gypi',
558             'gles2_cmd_helper.gypi',
559             'gpu_config.gypi',
560             'gpu_ipc.gypi',
561             '../build/android/increase_size_for_speed.gypi',
562           ],
563           'defines': [
564             'GPU_IMPLEMENTATION',
565           ],
566           'sources': [
567             'gpu_export.h',
568           ],
569           'dependencies': [
570             '../base/base.gyp:base',
571             'command_buffer/command_buffer.gyp:gles2_utils',
572             'disk_cache_proto',
573           ],
574           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
575           'msvs_disabled_warnings': [4267, ],
576         },
577         {
578           # GN version: //gpu/command_buffer/common
579           'target_name': 'command_buffer_common',
580           'type': 'none',
581           'dependencies': [
582             'gpu',
583           ],
584         },
585         {
586           # Library helps make GLES2 command buffers.
587           # GN version: //gpu/command_buffer/client:gles2_cmd_helper
588           'target_name': 'gles2_cmd_helper',
589           'type': 'none',
590           'dependencies': [
591             'gpu',
592           ],
593           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
594           'msvs_disabled_warnings': [4267, ],
595         },
596         {
597           # GN version: //gpu/command_buffer/client
598           'target_name': 'command_buffer_client',
599           'type': 'none',
600           'dependencies': [
601             'gpu',
602           ],
603         },
604         {
605           # GN version: //gpu/command_buffer/service
606           'target_name': 'command_buffer_service',
607           'type': 'none',
608           'dependencies': [
609             'gpu',
610           ],
611         },
612         {
613           # GN version: //gpu/ipc
614           'target_name': 'gpu_ipc',
615           'type': 'none',
616           'dependencies': [
617             'gpu',
618           ],
619         },
620       ],
621     }],
622     ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
623       'targets': [
624         {
625           'target_name': 'command_buffer_common_win64',
626           'type': 'static_library',
627           'variables': {
628             'nacl_win64_target': 1,
629           },
630           'includes': [
631             'command_buffer_common.gypi',
632           ],
633           'dependencies': [
634             '../base/base.gyp:base_win64',
635           ],
636           'defines': [
637             '<@(nacl_win64_defines)',
638             'GPU_IMPLEMENTATION',
639           ],
640           'configurations': {
641             'Common_Base': {
642               'msvs_target_platform': 'x64',
643             },
644           },
645         },
646         {
647           'target_name': 'gpu_ipc_win64',
648           'type': 'static_library',
649           'variables': {
650             'nacl_win64_target': 1,
651           },
652           'includes': [
653             'gpu_ipc.gypi',
654           ],
655           'dependencies': [
656             '../base/base.gyp:base_win64',
657             '../ipc/ipc.gyp:ipc_win64',
658             'command_buffer_common_win64',
659           ],
660           'defines': [
661             '<@(nacl_win64_defines)',
662             'GPU_IMPLEMENTATION',
663           ],
664           'configurations': {
665             'Common_Base': {
666               'msvs_target_platform': 'x64',
667             },
668           },
669         },
670       ],
671     }],
672     ['OS == "android"', {
673       'targets': [
674         {
675           'target_name': 'gl_tests_apk',
676           'type': 'none',
677           'dependencies': [
678             'gl_tests',
679           ],
680           'variables': {
681             'test_suite_name': 'gl_tests',
682           },
683           'includes': [
684             '../build/apk_test.gypi',
685           ],
686         },
687         {
688           'target_name': 'gpu_unittests_apk',
689           'type': 'none',
690           'dependencies': [
691             'gpu_unittests',
692           ],
693           'variables': {
694             'test_suite_name': 'gpu_unittests',
695           },
696           'includes': [ '../build/apk_test.gypi' ],
697         },
698         {
699           'target_name': 'gpu_perftests_apk',
700           'type': 'none',
701           'dependencies': [
702             'gpu_perftests',
703           ],
704           'variables': {
705             'test_suite_name': 'gpu_perftests',
706           },
707           'includes': [ '../build/apk_test.gypi' ],
708         },
709       ],
710     }],
711     ['OS == "win" or (OS == "linux" and use_x11==1)', {
712       'targets': [
713         {
714           # TODO(kbr): port this target to the GN build.
715           'target_name': 'angle_end2end_tests',
716           'type': '<(gtest_target_type)',
717           'dependencies': [
718             '../base/base.gyp:base',
719             '../base/base.gyp:test_support_base',
720           ],
721           'includes': [
722             '../third_party/angle/build/common_defines.gypi',
723             '../third_party/angle/src/tests/angle_end2end_tests.gypi',
724           ],
725           'sources': [
726             'angle_end2end_tests_main.cc',
727           ],
728         },
729       ],
730     }],
731     ['OS == "win"', {
732       'targets': [
733         {
734           # TODO(jmadill): port this target to the GN build.
735           'target_name': 'angle_perftests',
736           'type': '<(gtest_target_type)',
737           'dependencies': [
738             '../base/base.gyp:base',
739             '../base/base.gyp:test_support_base',
740           ],
741           'includes': [
742             '../third_party/angle/build/common_defines.gypi',
743             '../third_party/angle/src/tests/angle_perftests.gypi',
744           ],
745           'sources': [
746             'angle_perftests_main.cc',
747           ],
748         },
749       ],
750     }],
751     ['test_isolation_mode != "noop"', {
752       'targets': [
753         {
754           'target_name': 'gpu_unittests_run',
755           'type': 'none',
756           'dependencies': [
757             'gpu_unittests',
758           ],
759           'includes': [
760             '../build/isolate.gypi',
761           ],
762           'sources': [
763             'gpu_unittests.isolate',
764           ],
765           'conditions': [
766             ['use_x11==1',
767               {
768                 'dependencies': [
769                   '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
770                 ],
771               }
772             ],
773           ],
774         },
775       ],
776     }],
777     ['OS == "win" and archive_gpu_tests==1', {
778       'targets': [
779         {
780           # Only build dEQP on test configs. Note that dEQP is test-only code,
781           # and is only a part of the Chromium build to allow easy integration
782           # with the GPU bot waterfall. (Note that dEQP uses exceptions, and
783           # currently can't build with Clang on Windows)
784           'target_name': 'angle_deqp_gles2_tests',
785           'type': '<(gtest_target_type)',
786           'dependencies': [
787             '../base/base.gyp:base',
788             '../base/base.gyp:test_support_base',
789             '../third_party/angle/src/tests/tests.gyp:angle_deqp_gtest_support',
790             '../third_party/angle/src/tests/tests.gyp:angle_deqp_libgles2',
791           ],
792           'includes': [
793             '../third_party/angle/build/common_defines.gypi',
794           ],
795           'sources': [
796             'angle_deqp_tests_main.cc',
797           ],
798         },
799         {
800           'target_name': 'angle_deqp_gles3_tests',
801           'type': '<(gtest_target_type)',
802           'dependencies': [
803             '../base/base.gyp:base',
804             '../base/base.gyp:test_support_base',
805             '../third_party/angle/src/tests/tests.gyp:angle_deqp_gtest_support',
806             '../third_party/angle/src/tests/tests.gyp:angle_deqp_libgles3',
807           ],
808           'includes': [
809             '../third_party/angle/build/common_defines.gypi',
810           ],
811           'sources': [
812             'angle_deqp_tests_main.cc',
813           ],
814         },
815       ],
816     }]
817   ],