|  | # Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | # GYP-to-GN project mappings: | 
|  | # | 
|  | #  gpu.gyp:command_buffer_client => //gpu/command_buffer/client | 
|  | # | 
|  | #  gpu.gyp:command_buffer_common => //gpu/command_buffer/common | 
|  | # | 
|  | #  gpu.gyp:command_buffer_service => //gpu/command_buffer/service | 
|  |  | 
|  | #  gpu/gpu.gyp:gl_in_process_context => | 
|  | #      //gpu/command_buffer/client:gl_in_process_context | 
|  | # | 
|  | #  gpu.gyp:gles2_cmd_helper => //gpu/command_buffer/client:gles2_cmd_helper | 
|  | # | 
|  | #  gpu.gyp:gles2_c_lib => //gpu/command_buffer/client:gles2_c_lib | 
|  | # | 
|  | #  gpu.gyp:gles2_implementation => | 
|  | #      //gpu/command_buffer/client:gles2_implementation | 
|  | # | 
|  | #  gpu.gyp:gpu_config => //gpu/config | 
|  | # | 
|  | # | 
|  | #  gpu.gyp:disk_cache_proto => //gpu/command_buffer/service:disk_cache_proto | 
|  | # | 
|  | #  command_buffer/command_buffer.gyp:gles2_utils => | 
|  | #     //gpu/command_buffer/common | 
|  | #     (Merged in to here because the separate file exists in GYP only to break | 
|  | #     a .gyp file dependency cycle which GN doesn't have.) | 
|  | # | 
|  | # gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings => //gpu/skia_bindings | 
|  |  | 
|  | import("//testing/test.gni") | 
|  | import("//build/config/ui.gni") | 
|  |  | 
|  | config("gpu_implementation") { | 
|  | defines = [ "GPU_IMPLEMENTATION" ] | 
|  | } | 
|  |  | 
|  | component("gpu") { | 
|  | public_deps = [ | 
|  | "//gpu/command_buffer/client", | 
|  | "//gpu/command_buffer/client:gles2_cmd_helper_sources", | 
|  | "//gpu/command_buffer/common", | 
|  | "//gpu/command_buffer/service", | 
|  | "//gpu/config", | 
|  | ] | 
|  | } | 
|  |  | 
|  | source_set("test_support") { | 
|  | testonly = true | 
|  | sources = [ | 
|  | "command_buffer/client/gles2_interface_stub.cc", | 
|  | "command_buffer/client/gles2_interface_stub.h", | 
|  | "command_buffer/service/error_state_mock.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_mock.cc", | 
|  | ] | 
|  |  | 
|  | configs += [ ":gpu_implementation" ] | 
|  |  | 
|  | public_deps = [ | 
|  | ":gpu", | 
|  | "//gpu/command_buffer/client:gles2_interface", | 
|  | ] | 
|  | deps = [ | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | "//ui/gl:gl_unittest_utils", | 
|  | ] | 
|  | } | 
|  |  | 
|  | test("gl_tests") { | 
|  | sources = [ | 
|  | "command_buffer/tests/compressed_texture_test.cc", | 
|  | "command_buffer/tests/gl_bind_uniform_location_unittest.cc", | 
|  | "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc", | 
|  | "command_buffer/tests/gl_chromium_path_rendering_unittest.cc", | 
|  | "command_buffer/tests/gl_clear_framebuffer_unittest.cc", | 
|  | "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc", | 
|  | "command_buffer/tests/gl_depth_texture_unittest.cc", | 
|  | "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc", | 
|  | "command_buffer/tests/gl_lose_context_chromium_unittest.cc", | 
|  | "command_buffer/tests/gl_manager.cc", | 
|  | "command_buffer/tests/gl_manager.h", | 
|  | "command_buffer/tests/gl_pointcoord_unittest.cc", | 
|  | "command_buffer/tests/gl_program_unittest.cc", | 
|  | "command_buffer/tests/gl_query_unittest.cc", | 
|  | "command_buffer/tests/gl_readback_unittest.cc", | 
|  | "command_buffer/tests/gl_shared_resources_unittest.cc", | 
|  | "command_buffer/tests/gl_stream_draw_unittest.cc", | 
|  | "command_buffer/tests/gl_test_utils.cc", | 
|  | "command_buffer/tests/gl_test_utils.h", | 
|  | "command_buffer/tests/gl_tests_main.cc", | 
|  | "command_buffer/tests/gl_texture_mailbox_unittest.cc", | 
|  | "command_buffer/tests/gl_texture_storage_unittest.cc", | 
|  | "command_buffer/tests/gl_unittest.cc", | 
|  | "command_buffer/tests/gl_unittests_android.cc", | 
|  | "command_buffer/tests/gl_virtual_contexts_unittest.cc", | 
|  | "command_buffer/tests/occlusion_query_unittest.cc", | 
|  | ] | 
|  |  | 
|  | defines = [ "GL_GLEXT_PROTOTYPES" ] | 
|  |  | 
|  | configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] | 
|  |  | 
|  | deps = [ | 
|  | ":gpu", | 
|  | ":test_support", | 
|  | "//base", | 
|  | "//base/test:test_support", | 
|  | "//base/third_party/dynamic_annotations", | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | "//third_party/angle:translator", | 
|  | "//ui/gfx", | 
|  | "//ui/gfx:test_support", | 
|  | "//ui/gfx/geometry", | 
|  | "//ui/gl", | 
|  | "//gpu/command_buffer/common:gles2_utils", | 
|  | "//gpu/command_buffer/client:gles2_c_lib", | 
|  | "//gpu/command_buffer/client:gles2_implementation", | 
|  | ] | 
|  |  | 
|  | libs = [] | 
|  |  | 
|  | if (is_android) { | 
|  | deps += [ "//testing/android/native_test:native_test_native_code" ] | 
|  | libs += [ "android" ] | 
|  | } | 
|  |  | 
|  | # TODO(GYP) | 
|  | #     ['OS == "win"', { | 
|  | #       'dependencies': [ | 
|  | #         '../third_party/angle/src/build_angle.gyp:libEGL', | 
|  | #         '../third_party/angle/src/build_angle.gyp:libGLESv2', | 
|  | #       ], | 
|  | #     }], | 
|  | } | 
|  |  | 
|  | test("gpu_unittests") { | 
|  | sources = [ | 
|  | "command_buffer/client/buffer_tracker_unittest.cc", | 
|  | "command_buffer/client/client_test_helper.cc", | 
|  | "command_buffer/client/client_test_helper.h", | 
|  | "command_buffer/client/cmd_buffer_helper_test.cc", | 
|  | "command_buffer/client/fenced_allocator_test.cc", | 
|  | "command_buffer/client/gles2_implementation_unittest.cc", | 
|  | "command_buffer/client/mapped_memory_unittest.cc", | 
|  | "command_buffer/client/program_info_manager_unittest.cc", | 
|  | "command_buffer/client/query_tracker_unittest.cc", | 
|  | "command_buffer/client/ring_buffer_test.cc", | 
|  | "command_buffer/client/transfer_buffer_unittest.cc", | 
|  | "command_buffer/client/vertex_array_object_manager_unittest.cc", | 
|  | "command_buffer/common/bitfield_helpers_test.cc", | 
|  | "command_buffer/common/command_buffer_mock.cc", | 
|  | "command_buffer/common/command_buffer_mock.h", | 
|  | "command_buffer/common/command_buffer_shared_test.cc", | 
|  | "command_buffer/common/debug_marker_manager_unittest.cc", | 
|  | "command_buffer/common/gles2_cmd_format_test.cc", | 
|  | "command_buffer/common/gles2_cmd_format_test_autogen.h", | 
|  | "command_buffer/common/gles2_cmd_utils_unittest.cc", | 
|  | "command_buffer/common/id_allocator_test.cc", | 
|  | "command_buffer/common/trace_event.h", | 
|  | "command_buffer/common/unittest_main.cc", | 
|  | "command_buffer/service/async_pixel_transfer_delegate_mock.cc", | 
|  | "command_buffer/service/async_pixel_transfer_delegate_mock.h", | 
|  | "command_buffer/service/async_pixel_transfer_manager_mock.cc", | 
|  | "command_buffer/service/async_pixel_transfer_manager_mock.h", | 
|  | "command_buffer/service/buffer_manager_unittest.cc", | 
|  | "command_buffer/service/cmd_parser_test.cc", | 
|  | "command_buffer/service/command_buffer_service_unittest.cc", | 
|  | "command_buffer/service/common_decoder_unittest.cc", | 
|  | "command_buffer/service/context_group_unittest.cc", | 
|  | "command_buffer/service/feature_info_unittest.cc", | 
|  | "command_buffer/service/framebuffer_manager_unittest.cc", | 
|  | "command_buffer/service/gl_context_mock.cc", | 
|  | "command_buffer/service/gl_context_mock.h", | 
|  | "command_buffer/service/gl_surface_mock.cc", | 
|  | "command_buffer/service/gl_surface_mock.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_1.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_2.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_3.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_base.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_base.h", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc", | 
|  | "command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc", | 
|  | "command_buffer/service/gpu_scheduler_unittest.cc", | 
|  | "command_buffer/service/gpu_service_test.cc", | 
|  | "command_buffer/service/gpu_service_test.h", | 
|  | "command_buffer/service/gpu_tracer_unittest.cc", | 
|  | "command_buffer/service/id_manager_unittest.cc", | 
|  | "command_buffer/service/mailbox_manager_unittest.cc", | 
|  | "command_buffer/service/memory_program_cache_unittest.cc", | 
|  | "command_buffer/service/mocks.cc", | 
|  | "command_buffer/service/mocks.h", | 
|  | "command_buffer/service/program_cache_unittest.cc", | 
|  | "command_buffer/service/program_manager_unittest.cc", | 
|  | "command_buffer/service/query_manager_unittest.cc", | 
|  | "command_buffer/service/renderbuffer_manager_unittest.cc", | 
|  | "command_buffer/service/shader_manager_unittest.cc", | 
|  | "command_buffer/service/shader_translator_cache_unittest.cc", | 
|  | "command_buffer/service/shader_translator_unittest.cc", | 
|  | "command_buffer/service/test_helper.cc", | 
|  | "command_buffer/service/test_helper.h", | 
|  | "command_buffer/service/texture_manager_unittest.cc", | 
|  | "command_buffer/service/transfer_buffer_manager_unittest.cc", | 
|  | "command_buffer/service/valuebuffer_manager_unittest.cc", | 
|  | "command_buffer/service/vertex_array_manager_unittest.cc", | 
|  | "command_buffer/service/vertex_attrib_manager_unittest.cc", | 
|  | "config/gpu_blacklist_unittest.cc", | 
|  | "config/gpu_control_list_entry_unittest.cc", | 
|  | "config/gpu_control_list_number_info_unittest.cc", | 
|  | "config/gpu_control_list_os_info_unittest.cc", | 
|  | "config/gpu_control_list_unittest.cc", | 
|  | "config/gpu_control_list_version_info_unittest.cc", | 
|  | "config/gpu_driver_bug_list_unittest.cc", | 
|  | "config/gpu_info_collector_unittest.cc", | 
|  | "config/gpu_info_unittest.cc", | 
|  | "config/gpu_test_config_unittest.cc", | 
|  | "config/gpu_test_expectations_parser_unittest.cc", | 
|  | "config/gpu_util_unittest.cc", | 
|  | ] | 
|  |  | 
|  | configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] | 
|  |  | 
|  | deps = [ | 
|  | ":gpu", | 
|  | ":test_support", | 
|  | "//base", | 
|  | "//base/test:test_support", | 
|  | "//base/third_party/dynamic_annotations", | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | "//third_party/angle:translator", | 
|  | "//ui/gfx", | 
|  | "//ui/gfx:test_support", | 
|  | "//ui/gfx/geometry", | 
|  | "//ui/gl", | 
|  | "//gpu/command_buffer/common:gles2_utils", | 
|  | "//gpu/command_buffer/client:gles2_c_lib", | 
|  | "//gpu/command_buffer/client:gles2_implementation", | 
|  | ] | 
|  | } | 
|  |  | 
|  | test("gpu_perftests") { | 
|  | sources = [ | 
|  | "perftests/measurements.cc", | 
|  | "perftests/run_all_tests.cc", | 
|  | "perftests/texture_upload_perftest.cc", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | "//base", | 
|  | "//base/test:test_support", | 
|  | "//gpu/command_buffer/service", | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | "//testing/perf", | 
|  | "//ui/gfx/geometry", | 
|  | "//ui/gl", | 
|  | ] | 
|  | } | 
|  |  | 
|  | test("angle_unittests") { | 
|  | sources = [ | 
|  | "angle_unittest_main.cc", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | "//base", | 
|  | "//base/test:test_support", | 
|  | "//base/third_party/dynamic_annotations", | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | "//third_party/angle:translator_static", | 
|  | ] | 
|  | } | 
|  |  | 
|  | if (is_linux && target_cpu != "arm" && use_x11) { | 
|  | executable("compositor_model_bench") { | 
|  | sources = [ | 
|  | "tools/compositor_model_bench/compositor_model_bench.cc", | 
|  | "tools/compositor_model_bench/forward_render_model.cc", | 
|  | "tools/compositor_model_bench/render_model_utils.cc", | 
|  | "tools/compositor_model_bench/render_models.cc", | 
|  | "tools/compositor_model_bench/render_tree.cc", | 
|  | "tools/compositor_model_bench/shaders.cc", | 
|  | ] | 
|  |  | 
|  | libs = [ "GL" ] | 
|  |  | 
|  | configs += [ "//build/config/linux:x11" ] | 
|  |  | 
|  | deps = [ | 
|  | "//base", | 
|  | "//ui/gl", | 
|  | ] | 
|  | } | 
|  | } |