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.
7 'nacl_win64_target': 0,
14 # Library emulates GLES2 using command_buffers.
15 # GN version: //gpu/command_buffer/client:gles2_implementation
16 'target_name': 'gles2_implementation',
17 'type': '<(component)',
19 '../base/base.gyp:base',
20 '../third_party/khronos/khronos.gyp:khronos_headers',
21 '../ui/gfx/gfx.gyp:gfx_geometry',
23 'command_buffer/command_buffer.gyp:gles2_utils',
27 'GLES2_IMPL_IMPLEMENTATION',
30 '<@(gles2_implementation_source_files)',
33 # Disable LTO due to ELF section name out of range
35 '../build/android/disable_lto.gypi',
37 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
38 'msvs_disabled_warnings': [4267, ],
41 # GN version: //gpu/command_buffer/client:gl_in_process_context
42 'target_name': 'gl_in_process_context',
43 'type': '<(component)',
45 'command_buffer/command_buffer.gyp:gles2_utils',
46 'gles2_implementation',
48 '../base/base.gyp:base',
49 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
50 '../ui/gfx/gfx.gyp:gfx_geometry',
54 'GL_IN_PROCESS_CONTEXT_IMPLEMENTATION',
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',
63 # Library emulates GLES2 using command_buffers.
64 'target_name': 'gles2_implementation_no_check',
65 'type': '<(component)',
67 'GLES2_IMPL_IMPLEMENTATION',
68 'GLES2_CONFORMANCE_TESTS=1',
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',
79 '<@(gles2_implementation_source_files)',
81 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
82 'msvs_disabled_warnings': [ 4267, ],
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)',
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',
97 'GLES2_C_LIB_IMPLEMENTATION',
100 '<@(gles2_c_lib_source_files)',
102 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
103 'msvs_disabled_warnings': [4267, ],
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)',
112 'GLES2_C_LIB_IMPLEMENTATION',
113 'GLES2_CONFORMANCE_TESTS=1',
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',
123 '<@(gles2_c_lib_source_files)',
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)',
132 '../third_party/angle/build/common_defines.gypi',
133 '../third_party/angle/src/tests/angle_unittests.gypi',
136 '../base/base.gyp:base',
137 '../base/base.gyp:test_support_base',
141 '../third_party/angle/include',
144 'angle_unittest_main.cc',
148 # GN version: //gpu:gpu_unittests
149 'target_name': 'gpu_unittests',
150 'type': '<(gtest_target_type)',
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',
168 'gpu_unittest_utils',
169 'gles2_implementation',
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',
275 ['OS == "android"', {
277 '../testing/android/native_test.gyp:native_test_native_code',
280 # See http://crbug.com/162998#c4 for why this is needed.
281 ['OS=="linux" and use_allocator!="none"', {
283 '../base/allocator/allocator.gyp:allocator',
287 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
288 'msvs_disabled_warnings': [ 4267, ],
291 # GN version: //gpu/gpu_perftests
292 'target_name': 'gpu_perftests',
293 'type': '<(gtest_target_type)',
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',
305 'perftests/measurements.cc',
306 'perftests/run_all_tests.cc',
307 'perftests/texture_upload_perftest.cc',
313 '../testing/android/native_test.gyp:native_test_native_code',
317 # See http://crbug.com/162998#c4 for why this is needed.
318 ['OS=="linux" and use_allocator!="none"',
321 '../base/allocator/allocator.gyp:allocator',
328 # GN version: //gpu:gl_tests
329 'target_name': 'gl_tests',
330 'type': '<(gtest_target_type)',
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',
347 'gpu_unittest_utils',
348 'gles2_implementation',
354 'GL_GLEXT_PROTOTYPES',
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',
387 ['OS == "android"', {
389 '../testing/android/native_test.gyp:native_test_native_code',
394 '../third_party/angle/src/angle.gyp:libEGL',
395 '../third_party/angle/src/angle.gyp:libGLESv2',
399 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
400 'msvs_disabled_warnings': [ 4267, ],
403 # GN version: //gpu:test_support
404 'target_name': 'gpu_unittest_utils',
405 'type': 'static_library',
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',
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',
425 ['component=="static_library"', {
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' ],
433 'proto_in_dir': 'command_buffer/service',
434 'proto_out_dir': 'gpu/command_buffer/service',
436 'includes': [ '../build/protoc.gypi' ],
440 'target_name': 'gpu',
443 'command_buffer_client',
444 'command_buffer_common',
445 'command_buffer_service',
453 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
454 'msvs_disabled_warnings': [4267, ],
457 # GN version: //gpu/command_buffer/common
458 'target_name': 'command_buffer_common',
459 'type': 'static_library',
461 'command_buffer_common.gypi',
464 '../base/base.gyp:base',
465 'command_buffer/command_buffer.gyp:gles2_utils',
467 'export_dependent_settings': [
468 '../base/base.gyp:base',
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',
477 'gles2_cmd_helper.gypi',
480 'command_buffer_client',
482 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
483 'msvs_disabled_warnings': [4267, ],
486 # GN version: //gpu/command_buffer/client
487 'target_name': 'command_buffer_client',
488 'type': 'static_library',
490 'command_buffer_client.gypi',
493 'command_buffer_common',
495 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
496 'msvs_disabled_warnings': [4267, ],
499 # GN version: //gpu/command_buffer/service
500 'target_name': 'command_buffer_service',
501 'type': 'static_library',
503 'command_buffer_service.gypi',
504 '../build/android/increase_size_for_speed.gypi',
505 # Disable LTO due to ELF section name out of range
507 '../build/android/disable_lto.gypi',
510 'command_buffer_common',
514 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
515 'msvs_disabled_warnings': [4267, ],
518 # GN version: //gpu/ipc
519 'target_name': 'gpu_ipc',
520 'type': 'static_library',
525 'command_buffer_common',
529 'target_name': 'gpu_config',
530 'type': 'static_library',
537 { # component != static_library
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' ],
545 'proto_in_dir': 'command_buffer/service',
546 'proto_out_dir': 'gpu/command_buffer/service',
548 'includes': [ '../build/protoc.gypi' ],
552 'target_name': 'gpu',
553 'type': 'shared_library',
555 'command_buffer_client.gypi',
556 'command_buffer_common.gypi',
557 'command_buffer_service.gypi',
558 'gles2_cmd_helper.gypi',
561 '../build/android/increase_size_for_speed.gypi',
564 'GPU_IMPLEMENTATION',
570 '../base/base.gyp:base',
571 'command_buffer/command_buffer.gyp:gles2_utils',
574 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
575 'msvs_disabled_warnings': [4267, ],
578 # GN version: //gpu/command_buffer/common
579 'target_name': 'command_buffer_common',
586 # Library helps make GLES2 command buffers.
587 # GN version: //gpu/command_buffer/client:gles2_cmd_helper
588 'target_name': 'gles2_cmd_helper',
593 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
594 'msvs_disabled_warnings': [4267, ],
597 # GN version: //gpu/command_buffer/client
598 'target_name': 'command_buffer_client',
605 # GN version: //gpu/command_buffer/service
606 'target_name': 'command_buffer_service',
613 # GN version: //gpu/ipc
614 'target_name': 'gpu_ipc',
622 ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
625 'target_name': 'command_buffer_common_win64',
626 'type': 'static_library',
628 'nacl_win64_target': 1,
631 'command_buffer_common.gypi',
634 '../base/base.gyp:base_win64',
637 '<@(nacl_win64_defines)',
638 'GPU_IMPLEMENTATION',
642 'msvs_target_platform': 'x64',
647 'target_name': 'gpu_ipc_win64',
648 'type': 'static_library',
650 'nacl_win64_target': 1,
656 '../base/base.gyp:base_win64',
657 '../ipc/ipc.gyp:ipc_win64',
658 'command_buffer_common_win64',
661 '<@(nacl_win64_defines)',
662 'GPU_IMPLEMENTATION',
666 'msvs_target_platform': 'x64',
672 ['OS == "android"', {
675 'target_name': 'gl_tests_apk',
681 'test_suite_name': 'gl_tests',
684 '../build/apk_test.gypi',
688 'target_name': 'gpu_unittests_apk',
694 'test_suite_name': 'gpu_unittests',
696 'includes': [ '../build/apk_test.gypi' ],
699 'target_name': 'gpu_perftests_apk',
705 'test_suite_name': 'gpu_perftests',
707 'includes': [ '../build/apk_test.gypi' ],
711 ['OS == "win" or (OS == "linux" and use_x11==1)', {
714 # TODO(crbug.com/519834): port this target to the GN build.
715 'target_name': 'angle_end2end_tests',
716 'type': '<(gtest_target_type)',
718 '../base/base.gyp:base',
719 '../base/base.gyp:test_support_base',
722 '../third_party/angle/build/common_defines.gypi',
723 '../third_party/angle/src/tests/angle_end2end_tests.gypi',
726 'angle_end2end_tests_main.cc',
734 # TODO(jmadill): port this target to the GN build.
735 'target_name': 'angle_perftests',
736 'type': '<(gtest_target_type)',
738 '../base/base.gyp:base',
739 '../base/base.gyp:test_support_base',
742 '../third_party/angle/build/common_defines.gypi',
743 '../third_party/angle/src/tests/angle_perftests.gypi',
746 'angle_perftests_main.cc',
751 ['test_isolation_mode != "noop"', {
754 'target_name': 'gpu_unittests_run',
760 '../build/isolate.gypi',
763 'gpu_unittests.isolate',
769 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
777 ['(OS == "win" or OS == "linux") and archive_gpu_tests==1', {
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)',
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',
793 '../third_party/angle/build/common_defines.gypi',
796 'angle_deqp_tests_main.cc',
800 'target_name': 'angle_deqp_gles3_tests',
801 'type': '<(gtest_target_type)',
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',
809 '../third_party/angle/build/common_defines.gypi',
812 'angle_deqp_tests_main.cc',