blob: da3bb213e040be9ebb3f55dc51da43d88076830b [file] [log] [blame]
[email protected]e2504c82014-05-15 19:39:141# 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
[email protected]d26d8dd2014-05-16 19:34:345# GYP-to-GN project mappings:
6#
7# gpu.gyp:command_buffer_client => //gpu/command_buffer/client
8#
9# gpu.gyp:command_buffer_common => //gpu/command_buffer/common
10#
[email protected]229094b932014-06-05 20:26:4811# gpu.gyp:command_buffer_service => //gpu/command_buffer/service
12
13# gpu/gpu.gyp:gl_in_process_context =>
14# //gpu/command_buffer/client:gl_in_process_context
15#
[email protected]d26d8dd2014-05-16 19:34:3416# gpu.gyp:gles2_cmd_helper => //gpu/command_buffer/client:gles2_cmd_helper
17#
[email protected]b3df0ff2014-05-20 19:20:4018# gpu.gyp:gles2_c_lib => //gpu/command_buffer/client:gles2_c_lib
[email protected]d26d8dd2014-05-16 19:34:3419#
20# gpu.gyp:gles2_implementation =>
[email protected]d05751a22014-05-29 20:54:2421# //gpu/command_buffer/client:gles2_implementation
[email protected]d05751a22014-05-29 20:54:2422#
23# gpu.gyp:gpu_config => //gpu/config
24#
25# gpu.gyp:gpu_ipc => //gpu/ipc
26#
27# gpu.gyp:disk_cache_proto => //gpu/command_buffer/service:disk_cache_proto
[email protected]d26d8dd2014-05-16 19:34:3428#
29# command_buffer/command_buffer.gyp:gles2_utils =>
brettw157d6cf62015-04-02 05:34:4330# //gpu/command_buffer/common:gles2_utils
[email protected]d7e69fa2014-07-24 21:19:2831#
32# gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings => //gpu/skia_bindings
[email protected]d05751a22014-05-29 20:54:2433
qsrfb5251d12015-01-21 15:57:2234import("//testing/test.gni")
dprankedb5527d72015-03-08 04:22:4735import("//build/config/ui.gni")
qsrfb5251d12015-01-21 15:57:2236
brettw8f2fd172015-03-16 22:14:1837config("gpu_implementation") {
38 defines = [ "GPU_IMPLEMENTATION" ]
39}
40
[email protected]d05751a22014-05-29 20:54:2441component("gpu") {
brettw7dab582e2014-09-20 01:44:1142 public_deps = [
brettw542f7532015-04-06 22:35:4543 "//gpu/command_buffer/client:client_sources",
[email protected]fc39a282014-07-29 09:14:0244 "//gpu/command_buffer/client:gles2_cmd_helper_sources",
brettw542f7532015-04-06 22:35:4545 "//gpu/command_buffer/common:common_sources",
46 "//gpu/command_buffer/service:service_sources",
47 "//gpu/config:config_sources",
penghuang346a46f92016-03-31 21:37:5248 "//gpu/ipc/client:ipc_client_sources",
markdittmercbf36ce2016-03-02 16:08:2949 "//gpu/ipc/common:ipc_common_sources",
markdittmerd88b8352016-04-08 15:28:4550 "//gpu/ipc/service:ipc_service_sources",
[email protected]d05751a22014-05-29 20:54:2451 ]
52}
53
hendrikw68d2c332015-09-03 23:02:1854# GYP version: //gpu/gpu.gyp:command_buffer_gles2
55shared_library("command_buffer_gles2") {
56 sources = [
57 # TODO(hendrikw): Move egl out of gles2_conform_support.
58 "gles2_conform_support/egl/config.cc",
59 "gles2_conform_support/egl/config.h",
60 "gles2_conform_support/egl/display.cc",
61 "gles2_conform_support/egl/display.h",
62 "gles2_conform_support/egl/egl.cc",
63 "gles2_conform_support/egl/surface.cc",
64 "gles2_conform_support/egl/surface.h",
kkinnunen6aceb552016-02-15 08:04:3565 "gles2_conform_support/egl/test_support.cc",
66 "gles2_conform_support/egl/test_support.h",
hendrikw68d2c332015-09-03 23:02:1867 ]
68
69 deps = [
thakis709d0def2015-12-21 20:25:2470 ":gpu",
hendrikw68d2c332015-09-03 23:02:1871 "//base",
72 "//gpu/command_buffer/client:gles2_c_lib",
73 "//gpu/command_buffer/client:gles2_implementation",
hendrikw68d2c332015-09-03 23:02:1874 "//ui/gl:gl",
75 ]
76
hendrikw68d2c332015-09-03 23:02:1877 defines = [
78 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
79 "EGLAPIENTRY=",
80 ]
81 if (current_os == "win") {
82 defines += [ "EGLAPI=__declspec(dllexport)" ]
83 } else {
84 defines += [ "EGLAPI=__attribute__((visibility(\"default\")))" ]
85 }
86}
87
kkinnunen6aceb552016-02-15 08:04:3588# GYP version: //gpu/gpu.gyp:command_buffer_gles2_tests
89test("command_buffer_gles2_tests") {
90 sources = [
91 "command_buffer/tests/command_buffer_gles2_tests_main.cc",
92 "command_buffer/tests/egl_test.cc",
93 ]
94
95 deps = [
96 ":command_buffer_gles2",
97 "//base",
98 "//base/test:test_support",
99 "//base/third_party/dynamic_annotations",
100 "//testing/gmock",
101 "//testing/gtest",
102 ]
103
104 defines = [
105 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
106 "EGLAPIENTRY=",
107 ]
108 if (current_os == "win") {
109 defines += [ "EGLAPI=__declspec(dllimport)" ]
110 } else {
111 defines += [ "EGLAPI=" ]
112 }
113
114 libs = []
115
116 if (is_android) {
117 libs += [ "android" ]
118 deps += [ "//ui/android:ui_java" ]
119 }
120 if (!is_component_build) {
121 configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
122 }
123}
124
[email protected]c7990dbf2014-07-23 22:35:10125source_set("test_support") {
Brett Wilson0c8745a2014-09-08 22:59:49126 testonly = true
[email protected]d05751a22014-05-29 20:54:24127 sources = [
[email protected]d05751a22014-05-29 20:54:24128 "command_buffer/client/gles2_interface_stub.cc",
129 "command_buffer/client/gles2_interface_stub.h",
satoruxc5bd7a32015-02-18 01:54:52130 "command_buffer/service/error_state_mock.cc",
131 "command_buffer/service/gles2_cmd_decoder_mock.cc",
[email protected]d05751a22014-05-29 20:54:24132 ]
133
brettw7dab582e2014-09-20 01:44:11134 public_deps = [
[email protected]d05751a22014-05-29 20:54:24135 ":gpu",
jbromancba3d2fe2014-09-16 01:04:24136 "//gpu/command_buffer/client:gles2_interface",
brettw7dab582e2014-09-20 01:44:11137 ]
138 deps = [
[email protected]d05751a22014-05-29 20:54:24139 "//testing/gmock",
140 "//testing/gtest",
141 "//ui/gl:gl_unittest_utils",
142 ]
143}
144
brettw4897a612015-03-02 23:13:15145test("gl_tests") {
146 sources = [
147 "command_buffer/tests/compressed_texture_test.cc",
kkinnunen631033e2015-09-23 06:39:04148 "command_buffer/tests/es3_misc_functions_unittest.cc",
brettw4897a612015-03-02 23:13:15149 "command_buffer/tests/gl_bind_uniform_location_unittest.cc",
kkinnunena9d27e72015-12-21 17:23:44150 "command_buffer/tests/gl_chromium_framebuffer_mixed_samples_unittest.cc",
brettw4897a612015-03-02 23:13:15151 "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc",
152 "command_buffer/tests/gl_chromium_path_rendering_unittest.cc",
153 "command_buffer/tests/gl_clear_framebuffer_unittest.cc",
christiank83120092015-06-17 11:40:10154 "command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc",
erikchen38cbbce2016-03-16 17:45:44155 "command_buffer/tests/gl_copy_tex_image_2d_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15156 "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc",
dongseong.hwang9e8922b2015-09-01 11:04:49157 "command_buffer/tests/gl_cube_map_texture_unittest.cc",
brettw4897a612015-03-02 23:13:15158 "command_buffer/tests/gl_depth_texture_unittest.cc",
jinsukkim25219612016-01-20 23:24:07159 "command_buffer/tests/gl_dynamic_config_unittest.cc",
kkinnunen8cefb232015-12-04 09:36:31160 "command_buffer/tests/gl_ext_blend_func_extended_unittest.cc",
kkinnunenf26d7382015-12-01 13:34:14161 "command_buffer/tests/gl_ext_multisample_compatibility_unittest.cc",
kkinnunen0c2dee72015-11-09 11:13:58162 "command_buffer/tests/gl_ext_srgb_unittest.cc",
dyen5c38a032015-10-07 18:58:31163 "command_buffer/tests/gl_fence_sync_unittest.cc",
brettw4897a612015-03-02 23:13:15164 "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc",
erikchen2acd56012016-03-22 00:58:26165 "command_buffer/tests/gl_iosurface_readback_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15166 "command_buffer/tests/gl_lose_context_chromium_unittest.cc",
167 "command_buffer/tests/gl_manager.cc",
168 "command_buffer/tests/gl_manager.h",
169 "command_buffer/tests/gl_pointcoord_unittest.cc",
170 "command_buffer/tests/gl_program_unittest.cc",
171 "command_buffer/tests/gl_query_unittest.cc",
172 "command_buffer/tests/gl_readback_unittest.cc",
kkinnunen5d3785f2016-02-19 16:59:37173 "command_buffer/tests/gl_request_extension_unittest.cc",
brettw4897a612015-03-02 23:13:15174 "command_buffer/tests/gl_shared_resources_unittest.cc",
175 "command_buffer/tests/gl_stream_draw_unittest.cc",
176 "command_buffer/tests/gl_test_utils.cc",
177 "command_buffer/tests/gl_test_utils.h",
178 "command_buffer/tests/gl_tests_main.cc",
179 "command_buffer/tests/gl_texture_mailbox_unittest.cc",
180 "command_buffer/tests/gl_texture_storage_unittest.cc",
181 "command_buffer/tests/gl_unittest.cc",
182 "command_buffer/tests/gl_unittests_android.cc",
183 "command_buffer/tests/gl_virtual_contexts_unittest.cc",
184 "command_buffer/tests/occlusion_query_unittest.cc",
185 ]
[email protected]d05751a22014-05-29 20:54:24186
brettw4897a612015-03-02 23:13:15187 defines = [ "GL_GLEXT_PROTOTYPES" ]
[email protected]d05751a22014-05-29 20:54:24188
brettw4897a612015-03-02 23:13:15189 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
dpranke8ec93a3a2015-02-20 23:36:08190
brettw4897a612015-03-02 23:13:15191 deps = [
192 ":gpu",
193 ":test_support",
194 "//base",
195 "//base/test:test_support",
196 "//base/third_party/dynamic_annotations",
agrieved7a71c882015-11-20 19:53:28197 "//gpu/command_buffer/client:gles2_c_lib",
198 "//gpu/command_buffer/client:gles2_implementation",
199 "//gpu/command_buffer/common:gles2_utils",
brettw4897a612015-03-02 23:13:15200 "//testing/gmock",
201 "//testing/gtest",
202 "//third_party/angle:translator",
203 "//ui/gfx",
204 "//ui/gfx:test_support",
205 "//ui/gfx/geometry",
206 "//ui/gl",
brettw4897a612015-03-02 23:13:15207 ]
[email protected]d05751a22014-05-29 20:54:24208
brettw4897a612015-03-02 23:13:15209 libs = []
cjhopman09981a92014-10-27 17:11:18210
brettw4897a612015-03-02 23:13:15211 if (is_android) {
brettw4897a612015-03-02 23:13:15212 libs += [ "android" ]
agrieve97176362015-12-01 16:36:19213 deps += [ "//ui/android:ui_java" ]
cjhopman09981a92014-10-27 17:11:18214 }
brettw4897a612015-03-02 23:13:15215}
[email protected]d05751a22014-05-29 20:54:24216
brettw4897a612015-03-02 23:13:15217test("gpu_unittests") {
218 sources = [
219 "command_buffer/client/buffer_tracker_unittest.cc",
220 "command_buffer/client/client_test_helper.cc",
221 "command_buffer/client/client_test_helper.h",
222 "command_buffer/client/cmd_buffer_helper_test.cc",
223 "command_buffer/client/fenced_allocator_test.cc",
224 "command_buffer/client/gles2_implementation_unittest.cc",
225 "command_buffer/client/mapped_memory_unittest.cc",
226 "command_buffer/client/program_info_manager_unittest.cc",
227 "command_buffer/client/query_tracker_unittest.cc",
228 "command_buffer/client/ring_buffer_test.cc",
229 "command_buffer/client/transfer_buffer_unittest.cc",
230 "command_buffer/client/vertex_array_object_manager_unittest.cc",
231 "command_buffer/common/bitfield_helpers_test.cc",
232 "command_buffer/common/command_buffer_mock.cc",
233 "command_buffer/common/command_buffer_mock.h",
234 "command_buffer/common/command_buffer_shared_test.cc",
235 "command_buffer/common/debug_marker_manager_unittest.cc",
236 "command_buffer/common/gles2_cmd_format_test.cc",
237 "command_buffer/common/gles2_cmd_format_test_autogen.h",
238 "command_buffer/common/gles2_cmd_utils_unittest.cc",
239 "command_buffer/common/id_allocator_test.cc",
lukasza2573ce7d2016-02-16 19:17:22240 "command_buffer/common/id_type_unittest.cc",
brettw4897a612015-03-02 23:13:15241 "command_buffer/common/unittest_main.cc",
brettw4897a612015-03-02 23:13:15242 "command_buffer/service/buffer_manager_unittest.cc",
243 "command_buffer/service/cmd_parser_test.cc",
244 "command_buffer/service/command_buffer_service_unittest.cc",
sunnypsd6bb1c02016-03-12 04:48:31245 "command_buffer/service/command_executor_unittest.cc",
brettw4897a612015-03-02 23:13:15246 "command_buffer/service/common_decoder_unittest.cc",
247 "command_buffer/service/context_group_unittest.cc",
zmo5ee097e2015-05-14 19:13:52248 "command_buffer/service/context_state_unittest.cc",
brettw4897a612015-03-02 23:13:15249 "command_buffer/service/feature_info_unittest.cc",
250 "command_buffer/service/framebuffer_manager_unittest.cc",
sieversfbaa5dc2015-04-28 00:45:31251 "command_buffer/service/gl_context_mock.cc",
252 "command_buffer/service/gl_context_mock.h",
brettw4897a612015-03-02 23:13:15253 "command_buffer/service/gl_surface_mock.cc",
254 "command_buffer/service/gl_surface_mock.h",
255 "command_buffer/service/gles2_cmd_decoder_unittest.cc",
256 "command_buffer/service/gles2_cmd_decoder_unittest.h",
257 "command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h",
258 "command_buffer/service/gles2_cmd_decoder_unittest_1.cc",
259 "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h",
260 "command_buffer/service/gles2_cmd_decoder_unittest_2.cc",
261 "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h",
262 "command_buffer/service/gles2_cmd_decoder_unittest_3.cc",
263 "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h",
brettw4897a612015-03-02 23:13:15264 "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc",
265 "command_buffer/service/gles2_cmd_decoder_unittest_base.cc",
266 "command_buffer/service/gles2_cmd_decoder_unittest_base.h",
zmoa06b9882015-03-10 20:50:34267 "command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc",
sieversfbaa5dc2015-04-28 00:45:31268 "command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc",
brettw4897a612015-03-02 23:13:15269 "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc",
270 "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc",
271 "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc",
272 "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc",
273 "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc",
274 "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc",
275 "command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc",
brettw4897a612015-03-02 23:13:15276 "command_buffer/service/gpu_service_test.cc",
277 "command_buffer/service/gpu_service_test.h",
278 "command_buffer/service/gpu_tracer_unittest.cc",
279 "command_buffer/service/id_manager_unittest.cc",
280 "command_buffer/service/mailbox_manager_unittest.cc",
281 "command_buffer/service/memory_program_cache_unittest.cc",
282 "command_buffer/service/mocks.cc",
283 "command_buffer/service/mocks.h",
kkinnunenb959a8462015-07-14 11:08:34284 "command_buffer/service/path_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15285 "command_buffer/service/program_cache_unittest.cc",
286 "command_buffer/service/program_manager_unittest.cc",
287 "command_buffer/service/query_manager_unittest.cc",
288 "command_buffer/service/renderbuffer_manager_unittest.cc",
289 "command_buffer/service/shader_manager_unittest.cc",
290 "command_buffer/service/shader_translator_cache_unittest.cc",
291 "command_buffer/service/shader_translator_unittest.cc",
dyen5c38a032015-10-07 18:58:31292 "command_buffer/service/sync_point_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15293 "command_buffer/service/test_helper.cc",
294 "command_buffer/service/test_helper.h",
295 "command_buffer/service/texture_manager_unittest.cc",
296 "command_buffer/service/transfer_buffer_manager_unittest.cc",
297 "command_buffer/service/valuebuffer_manager_unittest.cc",
298 "command_buffer/service/vertex_array_manager_unittest.cc",
299 "command_buffer/service/vertex_attrib_manager_unittest.cc",
300 "config/gpu_blacklist_unittest.cc",
301 "config/gpu_control_list_entry_unittest.cc",
302 "config/gpu_control_list_number_info_unittest.cc",
303 "config/gpu_control_list_os_info_unittest.cc",
304 "config/gpu_control_list_unittest.cc",
305 "config/gpu_control_list_version_info_unittest.cc",
306 "config/gpu_driver_bug_list_unittest.cc",
307 "config/gpu_info_collector_unittest.cc",
308 "config/gpu_info_unittest.cc",
309 "config/gpu_test_config_unittest.cc",
310 "config/gpu_test_expectations_parser_unittest.cc",
311 "config/gpu_util_unittest.cc",
penghuang346a46f92016-03-31 21:37:52312 "ipc/client/gpu_memory_buffer_impl_shared_memory_unittest.cc",
313 "ipc/client/gpu_memory_buffer_impl_test_template.h",
brettw4897a612015-03-02 23:13:15314 ]
penghuang346a46f92016-03-31 21:37:52315 if (is_mac) {
316 sources += [ "ipc/client/gpu_memory_buffer_impl_io_surface_unittest.cc" ]
317 }
dpranke8ec93a3a2015-02-20 23:36:08318
brettwbc8b2a22015-07-28 18:24:42319 configs += [
320 "//build/config:precompiled_headers",
321
322 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
323 "//build/config/compiler:no_size_t_to_int_warning",
324 ]
[email protected]d5ba08c2014-06-18 07:01:08325
brettw4897a612015-03-02 23:13:15326 deps = [
327 ":gpu",
328 ":test_support",
329 "//base",
330 "//base/test:test_support",
331 "//base/third_party/dynamic_annotations",
penghuang346a46f92016-03-31 21:37:52332 "//gpu/command_buffer/client:gl_in_process_context",
agrieved7a71c882015-11-20 19:53:28333 "//gpu/command_buffer/client:gles2_c_lib",
334 "//gpu/command_buffer/client:gles2_implementation",
335 "//gpu/command_buffer/common:gles2_utils",
brettw4897a612015-03-02 23:13:15336 "//testing/gmock",
337 "//testing/gtest",
338 "//third_party/angle:translator",
339 "//ui/gfx",
tfarinaf89722432015-05-15 19:30:19340 "//ui/gfx:test_support",
agrieved7a71c882015-11-20 19:53:28341 "//ui/gfx/geometry",
brettw4897a612015-03-02 23:13:15342 "//ui/gl",
tfarinaf89722432015-05-15 19:30:19343 "//ui/gl:gl_unittest_utils",
sadrulba162cd2015-07-20 22:34:26344 "//ui/gl:test_support",
brettw4897a612015-03-02 23:13:15345 ]
dongseong.hwangd4a00dd72016-04-08 07:09:00346
347 if (use_ozone) {
348 deps += [ "//ui/ozone" ]
349 sources +=
350 [ "ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap_unittest.cc" ]
351 }
brettw4897a612015-03-02 23:13:15352}
[email protected]c7990dbf2014-07-23 22:35:10353
brettw4897a612015-03-02 23:13:15354test("gpu_perftests") {
355 sources = [
356 "perftests/measurements.cc",
357 "perftests/run_all_tests.cc",
358 "perftests/texture_upload_perftest.cc",
359 ]
dcastagna3e60aaa92015-01-29 19:23:45360
brettw4897a612015-03-02 23:13:15361 deps = [
362 "//base",
363 "//base/test:test_support",
364 "//gpu/command_buffer/service",
dcastagnaac138e52015-03-10 00:22:09365 "//testing/gmock",
brettw4897a612015-03-02 23:13:15366 "//testing/gtest",
367 "//testing/perf",
368 "//ui/gfx/geometry",
369 "//ui/gl",
370 ]
371}