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. 4 5 import("//build/config/ui.gni") 6 import("//third_party/protobuf/proto_library.gni") 7 8 source_set("service") { 9 sources = [ 10 "async_pixel_transfer_delegate.cc", 11 "async_pixel_transfer_delegate.h", 12 "async_pixel_transfer_manager_android.cc", 13 "async_pixel_transfer_manager_idle.cc", 14 "async_pixel_transfer_manager_idle.h", 15 "async_pixel_transfer_manager_linux.cc", 16 "async_pixel_transfer_manager_mac.cc", 17 "async_pixel_transfer_manager_share_group.cc", 18 "async_pixel_transfer_manager_share_group.h", 19 "async_pixel_transfer_manager_stub.cc", 20 "async_pixel_transfer_manager_stub.h", 21 "async_pixel_transfer_manager_sync.cc", 22 "async_pixel_transfer_manager_sync.h", 23 "async_pixel_transfer_manager_win.cc", 24 "async_pixel_transfer_manager.cc", 25 "async_pixel_transfer_manager.h", 26 "buffer_manager.h", 27 "buffer_manager.cc", 28 "cmd_buffer_engine.h", 29 "cmd_parser.cc", 30 "cmd_parser.h", 31 "command_buffer_service.cc", 32 "command_buffer_service.h", 33 "common_decoder.cc", 34 "common_decoder.h", 35 "context_group.h", 36 "context_group.cc", 37 "context_state.h", 38 "context_state_autogen.h", 39 "context_state_impl_autogen.h", 40 "context_state.cc", 41 "error_state.cc", 42 "error_state.h", 43 "feature_info.h", 44 "feature_info.cc", 45 "framebuffer_manager.h", 46 "framebuffer_manager.cc", 47 "gles2_cmd_copy_texture_chromium.cc", 48 "gles2_cmd_copy_texture_chromium.h", 49 "gles2_cmd_decoder.h", 50 "gles2_cmd_decoder_autogen.h", 51 "gles2_cmd_decoder.cc", 52 "gles2_cmd_validation.h", 53 "gles2_cmd_validation.cc", 54 "gles2_cmd_validation_autogen.h", 55 "gles2_cmd_validation_implementation_autogen.h", 56 "gl_context_virtual.cc", 57 "gl_context_virtual.h", 58 "gl_state_restorer_impl.cc", 59 "gl_state_restorer_impl.h", 60 "gl_utils.h", 61 "gpu_scheduler.cc", 62 "gpu_scheduler.h", 63 "gpu_scheduler_mock.h", 64 "gpu_state_tracer.cc", 65 "gpu_state_tracer.h", 66 "gpu_switches.cc", 67 "gpu_switches.h", 68 "gpu_tracer.cc", 69 "gpu_tracer.h", 70 "id_manager.h", 71 "id_manager.cc", 72 "image_manager.cc", 73 "image_manager.h", 74 "in_process_command_buffer.cc", 75 "in_process_command_buffer.h", 76 "logger.cc", 77 "logger.h", 78 "mailbox_manager.cc", 79 "mailbox_manager.h", 80 "mailbox_synchronizer.cc", 81 "mailbox_synchronizer.h", 82 "memory_program_cache.h", 83 "memory_program_cache.cc", 84 "mocks.h", 85 "program_manager.h", 86 "program_manager.cc", 87 "query_manager.h", 88 "query_manager.cc", 89 "renderbuffer_manager.h", 90 "renderbuffer_manager.cc", 91 "program_cache.h", 92 "program_cache.cc", 93 "shader_manager.h", 94 "shader_manager.cc", 95 "shader_translator.h", 96 "shader_translator.cc", 97 "shader_translator_cache.h", 98 "shader_translator_cache.cc", 99 "stream_texture_manager_in_process_android.h", 100 "stream_texture_manager_in_process_android.cc", 101 "texture_definition.h", 102 "texture_definition.cc", 103 "texture_manager.h", 104 "texture_manager.cc", 105 "transfer_buffer_manager.cc", 106 "transfer_buffer_manager.h", 107 "vertex_array_manager.h", 108 "vertex_array_manager.cc", 109 "vertex_attrib_manager.h", 110 "vertex_attrib_manager.cc", 111 ] 112 113 defines = [ "GPU_IMPLEMENTATION" ] 114 115 configs += [ 116 "//third_party/khronos:khronos_headers", 117 ] 118 119 public_deps = [ 120 "//gpu/command_buffer/common", 121 ] 122 deps = [ 123 ":disk_cache_proto", 124 "//base", 125 "//base/third_party/dynamic_annotations", 126 "//crypto", 127 "//third_party/angle:translator", 128 "//third_party/protobuf:protobuf_lite", 129 "//third_party/re2", 130 "//third_party/smhasher:cityhash", 131 "//ui/gfx", 132 "//ui/gfx/geometry", 133 "//ui/gl", 134 ] 135 136 if (ui_compositor_image_transport) { 137 include_dirs = [ "//third_party/khronos" ] 138 } 139 140 if (is_win || is_android || (is_linux && use_x11)) { 141 sources += [ 142 "async_pixel_transfer_manager_egl.cc", 143 "async_pixel_transfer_manager_egl.h", 144 ] 145 } 146 147 if (is_android && !is_debug) { 148 # On Android optimize more since this component can be a bottleneck. 149 configs -= [ "//build/config/compiler:optimize" ] 150 configs += [ "//build/config/compiler:optimize_max" ] 151 } 152 } 153 154 proto_library("disk_cache_proto") { 155 sources = [ "disk_cache_proto.proto" ] 156 } 157