blob: c365307933869f4aef40eeabf535807e8c8e026e [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
Yuta Hijikata7471d26f2020-10-23 03:27:425import("//build/config/chromeos/ui_mode.gni")
Daniel Bratellda6b8092018-09-12 09:09:166import("//build/config/ui.gni")
Austin Eng2cfcca82020-10-12 18:40:587import("//gpu/vulkan/features.gni")
piman5adadcfc2016-07-14 23:52:358import("//testing/libfuzzer/fuzzer_test.gni")
qsrfb5251d12015-01-21 15:57:229import("//testing/test.gni")
Ned Williamsoncc43ccc2019-05-24 23:45:1110import("//third_party/protobuf/proto_library.gni")
Yuly Novikov09d09f42017-12-14 23:25:1711import("//ui/gl/features.gni")
qsrfb5251d12015-01-21 15:57:2212
brettw8f2fd172015-03-16 22:14:1813config("gpu_implementation") {
14 defines = [ "GPU_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3915 configs = [
16 "//build/config/compiler:noshadowing",
17 "//build/config/compiler:wexit_time_destructors",
18 ]
brettw8f2fd172015-03-16 22:14:1819}
20
Antoine Labour83a0aed12018-01-10 04:52:3821config("gpu_gles2_implementation") {
22 defines = [ "GPU_GLES2_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3923 configs = [
24 "//build/config/compiler:noshadowing",
25 "//build/config/compiler:wexit_time_destructors",
26 ]
Antoine Labour83a0aed12018-01-10 04:52:3827}
28
Zhenyao Moaad85e52017-10-17 04:04:4529config("gpu_util_implementation") {
30 defines = [ "GPU_UTIL_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3931 configs = [
32 "//build/config/compiler:noshadowing",
33 "//build/config/compiler:wexit_time_destructors",
34 ]
Zhenyao Moaad85e52017-10-17 04:04:4535}
36
Antoine Labour011cf772018-01-23 00:38:3937config("raster_implementation") {
38 defines = [ "RASTER_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3939 configs = [
40 "//build/config/compiler:noshadowing",
41 "//build/config/compiler:wexit_time_destructors",
42 ]
Antoine Labour011cf772018-01-23 00:38:3943}
44
Kai Ninomiyaccab4bc32018-08-24 08:43:4045config("webgpu_implementation") {
46 defines = [ "WEBGPU_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3947 configs = [
48 "//build/config/compiler:noshadowing",
49 "//build/config/compiler:wexit_time_destructors",
50 ]
Kai Ninomiyaccab4bc32018-08-24 08:43:4051}
52
[email protected]d05751a22014-05-29 20:54:2453component("gpu") {
brettw7dab582e2014-09-20 01:44:1154 public_deps = [
brettw542f7532015-04-06 22:35:4555 "//gpu/command_buffer/client:client_sources",
brettw542f7532015-04-06 22:35:4556 "//gpu/command_buffer/common:common_sources",
57 "//gpu/command_buffer/service:service_sources",
58 "//gpu/config:config_sources",
penghuang346a46f92016-03-31 21:37:5259 "//gpu/ipc/client:ipc_client_sources",
markdittmercbf36ce2016-03-02 16:08:2960 "//gpu/ipc/common:ipc_common_sources",
[email protected]d05751a22014-05-29 20:54:2461 ]
62}
63
Antoine Labour83a0aed12018-01-10 04:52:3864component("gles2") {
65 public_deps = [
66 "//gpu/command_buffer/client:gles2_cmd_helper_sources",
67 "//gpu/command_buffer/common:gles2_sources",
Jonathan Backer9267bf1ec2018-03-06 19:56:5068 "//gpu/command_buffer/common:raster_sources",
Antoine Labour83a0aed12018-01-10 04:52:3869 "//gpu/command_buffer/service:gles2_sources",
70 ]
71}
72
Antoine Labour011cf772018-01-23 00:38:3973component("raster") {
Nico Weber852532f2020-01-28 18:17:2274 public_deps = [ "//gpu/command_buffer/client:raster_sources" ]
Antoine Labour011cf772018-01-23 00:38:3975}
76
Jonah Chinc66a50d2020-06-18 01:16:5977component("mailbox") {
78 defines = [ "IS_GPU_MAILBOX_IMPL" ]
79 public_deps = [ "//gpu/command_buffer/common:mailbox_sources" ]
80}
81
Kai Ninomiyaccab4bc32018-08-24 08:43:4082component("webgpu") {
Nico Weber852532f2020-01-28 18:17:2283 public_deps = [ "//gpu/command_buffer/client:webgpu_sources" ]
Kai Ninomiyaccab4bc32018-08-24 08:43:4084}
85
Yuly Novikov09d09f42017-12-14 23:25:1786if (!use_static_angle) {
87 shared_library("command_buffer_gles2") {
88 sources = [
89 # TODO(hendrikw): Move egl out of gles2_conform_support.
90 "gles2_conform_support/egl/config.cc",
91 "gles2_conform_support/egl/config.h",
92 "gles2_conform_support/egl/context.cc",
93 "gles2_conform_support/egl/context.h",
94 "gles2_conform_support/egl/display.cc",
95 "gles2_conform_support/egl/display.h",
96 "gles2_conform_support/egl/egl.cc",
97 "gles2_conform_support/egl/surface.cc",
98 "gles2_conform_support/egl/surface.h",
99 "gles2_conform_support/egl/test_support.cc",
100 "gles2_conform_support/egl/test_support.h",
101 "gles2_conform_support/egl/thread_state.cc",
102 "gles2_conform_support/egl/thread_state.h",
103 ]
hendrikw68d2c332015-09-03 23:02:18104
Yuly Novikov09d09f42017-12-14 23:25:17105 deps = [
106 ":gpu",
107 "//base",
Yuly Novikov09d09f42017-12-14 23:25:17108 "//gpu/command_buffer/client:gles2_c_lib",
Antoine Labour83a0aed12018-01-10 04:52:38109 "//gpu/command_buffer/client:gles2_cmd_helper",
Yuly Novikov09d09f42017-12-14 23:25:17110 "//gpu/command_buffer/client:gles2_implementation",
Antoine Labour83a0aed12018-01-10 04:52:38111 "//gpu/command_buffer/service:gles2",
Antoine Labour5f0b2672018-01-05 22:42:59112 "//ui/gl",
113 "//ui/gl/init",
Yuly Novikov09d09f42017-12-14 23:25:17114 ]
hendrikw68d2c332015-09-03 23:02:18115
Yuly Novikov09d09f42017-12-14 23:25:17116 defines = [
117 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
118 "EGLAPIENTRY=",
119 ]
120 if (is_android) {
121 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
122 }
123 if (current_os == "win") {
124 defines += [ "EGLAPI=__declspec(dllexport)" ]
125 } else {
126 defines += [ "EGLAPI=__attribute__((visibility(\"default\")))" ]
127 }
kkinnunen6aceb552016-02-15 08:04:35128 }
129
Yuly Novikov09d09f42017-12-14 23:25:17130 test("command_buffer_gles2_tests") {
131 sources = [
132 "command_buffer/tests/command_buffer_gles2_tests_main.cc",
133 "command_buffer/tests/egl_test.cc",
134 ]
kkinnunen6aceb552016-02-15 08:04:35135
Yuly Novikov09d09f42017-12-14 23:25:17136 deps = [
137 ":command_buffer_gles2",
138 "//base",
139 "//base/test:test_support",
140 "//base/third_party/dynamic_annotations",
141 "//testing/gmock",
142 "//testing/gtest",
143 ]
144
145 defines = [
146 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
147 "EGLAPIENTRY=",
148 ]
149 if (current_os == "win") {
150 defines += [ "EGLAPI=__declspec(dllimport)" ]
151 } else {
152 defines += [ "EGLAPI=" ]
153 }
154
155 libs = []
156
157 if (is_android) {
158 libs += [ "android" ]
159 deps += [ "//ui/android:ui_java" ]
160 }
Sean McAllister224ef732020-08-04 17:27:55161 if ((is_linux || is_chromeos) && !is_component_build) {
Yuly Novikov09d09f42017-12-14 23:25:17162 configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
163 }
Maksim Sisov3adb34c2020-06-26 16:54:53164
165 if (use_ozone) {
166 deps += [ "//ui/base:features" ]
167 }
kkinnunen6aceb552016-02-15 08:04:35168 }
Yuly Novikov09d09f42017-12-14 23:25:17169} # if (!use_static_angle)
kkinnunen6aceb552016-02-15 08:04:35170
Dirk Pranke9c0fc3b2020-08-06 16:01:30171static_library("test_support") {
Brett Wilson0c8745a2014-09-08 22:59:49172 testonly = true
[email protected]d05751a22014-05-29 20:54:24173 sources = [
Antoine Labour1bec1072017-06-06 19:37:03174 "command_buffer/client/client_test_helper.cc",
175 "command_buffer/client/client_test_helper.h",
[email protected]d05751a22014-05-29 20:54:24176 "command_buffer/client/gles2_interface_stub.cc",
177 "command_buffer/client/gles2_interface_stub.h",
Corentin Wallez254606d2019-04-26 09:15:16178 "command_buffer/client/gles2_interface_stub_autogen.h",
179 "command_buffer/client/gles2_interface_stub_impl_autogen.h",
180 "command_buffer/client/webgpu_interface_stub.cc",
181 "command_buffer/client/webgpu_interface_stub.h",
182 "command_buffer/client/webgpu_interface_stub_autogen.h",
183 "command_buffer/client/webgpu_interface_stub_impl_autogen.h",
Jonathan Backer8629c392018-04-04 23:01:03184 "command_buffer/service/copy_texture_chromium_mock.cc",
185 "command_buffer/service/copy_texture_chromium_mock.h",
satoruxc5bd7a32015-02-18 01:54:52186 "command_buffer/service/error_state_mock.cc",
thakisb8590c92017-03-23 18:14:53187 "command_buffer/service/error_state_mock.h",
satoruxc5bd7a32015-02-18 01:54:52188 "command_buffer/service/gles2_cmd_decoder_mock.cc",
thakisb8590c92017-03-23 18:14:53189 "command_buffer/service/gles2_cmd_decoder_mock.h",
Rafael Cintroncc22d8e2019-10-31 00:34:20190 "command_buffer/service/mocks.cc",
191 "command_buffer/service/mocks.h",
192 "command_buffer/service/test_helper.cc",
193 "command_buffer/service/test_helper.h",
Eric Karl6638504f2019-12-20 23:41:34194 "command_buffer/service/test_shared_image_backing.cc",
195 "command_buffer/service/test_shared_image_backing.h",
Jonathan Backer0cd1c4322018-04-17 16:57:10196 "ipc/raster_in_process_context.cc",
197 "ipc/raster_in_process_context.h",
Sunny Sachanandanid312f222018-03-27 03:36:44198 "ipc/service/gpu_memory_buffer_factory_test_template.h",
Kai Ninomiyaccab4bc32018-08-24 08:43:40199 "ipc/webgpu_in_process_context.cc",
200 "ipc/webgpu_in_process_context.h",
[email protected]d05751a22014-05-29 20:54:24201 ]
202
brettw7dab582e2014-09-20 01:44:11203 public_deps = [
Antoine Labour83a0aed12018-01-10 04:52:38204 ":gles2",
[email protected]d05751a22014-05-29 20:54:24205 ":gpu",
Kai Ninomiyaccab4bc32018-08-24 08:43:40206 ":webgpu",
jbromancba3d2fe2014-09-16 01:04:24207 "//gpu/command_buffer/client:gles2_interface",
Corentin Wallez254606d2019-04-26 09:15:16208 "//gpu/command_buffer/client:webgpu_interface",
kylechar1437abb2018-11-06 20:36:08209 "//gpu/ipc:gpu_thread_holder",
brettw7dab582e2014-09-20 01:44:11210 ]
211 deps = [
Jonathan Backer05d5cec2018-06-07 20:39:41212 "//base/test:test_support",
Jonathan Backer0cd1c4322018-04-17 16:57:10213 "//gpu/command_buffer/client:raster",
Antoine Labourfeab2392017-12-21 20:28:39214 "//gpu/command_buffer/common",
Jonathan Backer0cd1c4322018-04-17 16:57:10215 "//gpu/ipc:gl_in_process_context",
Sunny Sachanandanid312f222018-03-27 03:36:44216 "//gpu/ipc/common",
217 "//gpu/ipc/service",
Jonathan Backer0cd1c4322018-04-17 16:57:10218 "//gpu/skia_bindings:skia_bindings",
[email protected]d05751a22014-05-29 20:54:24219 "//testing/gmock",
220 "//testing/gtest",
Rafael Cintroncc22d8e2019-10-31 00:34:20221 "//third_party/angle:translator",
Daniel Bratell93172e3c2018-05-30 21:16:09222 "//ui/gfx:test_support",
[email protected]d05751a22014-05-29 20:54:24223 "//ui/gl:gl_unittest_utils",
Sunny Sachanandanid312f222018-03-27 03:36:44224 "//ui/gl:test_support",
[email protected]d05751a22014-05-29 20:54:24225 ]
226}
227
Yuta Hijikata78b21352020-12-17 00:31:01228if (!is_android && !is_fuchsia && !is_chromeos_ash) {
Ned Williamsoncc43ccc2019-05-24 23:45:11229 proto_library("gl_lpm_fuzzer_proto") {
Nico Weber852532f2020-01-28 18:17:22230 sources = [ "command_buffer/tests/lpm/gl_lpm_fuzzer.proto" ]
Ned Williamsoncc43ccc2019-05-24 23:45:11231
232 use_protobuf_full = true
Nico Weber852532f2020-01-28 18:17:22233 deps = [ "//third_party/protobuf:protobuf_full" ]
Ned Williamsoncc43ccc2019-05-24 23:45:11234 }
235
236 static_library("gl_lpm_shader_to_string") {
237 sources = [
238 "command_buffer/tests/lpm/gl_lpm_shader_to_string.cc",
239 "command_buffer/tests/lpm/gl_lpm_shader_to_string.h",
240 ]
241
242 deps = [
243 ":gl_lpm_fuzzer_proto",
244 "//base:base",
245 ]
246 }
247
248 test("gl_lpm_shader_to_string_unittest") {
Nico Weber852532f2020-01-28 18:17:22249 sources = [ "command_buffer/tests/lpm/gl_lpm_shader_to_string_unittest.cc" ]
Ned Williamsoncc43ccc2019-05-24 23:45:11250
251 deps = [
252 ":gl_lpm_shader_to_string",
253 "//base/test:run_all_unittests",
254 "//testing/gtest",
255 "//third_party/protobuf:protobuf_full",
256 ]
257 }
258
259 fuzzer_test("gl_lpm_fuzzer") {
260 sources = [
261 "command_buffer/tests/gl_manager.cc",
262 "command_buffer/tests/gl_manager.h",
263 "command_buffer/tests/gl_test_utils.cc",
264 "command_buffer/tests/gl_test_utils.h",
265 "command_buffer/tests/lpm/gl_lpm_fuzzer.cc",
266 ]
267
268 defines = [ "GL_GLEXT_PROTOTYPES" ]
269
Ned Williamsonbb29f7f2019-05-28 22:46:49270 if (is_mac) {
Robert Sesek581eaa362020-07-01 18:16:48271 frameworks = [ "IOSurface.framework" ]
Ned Williamsonbb29f7f2019-05-28 22:46:49272 }
273
Ned Williamsoncc43ccc2019-05-24 23:45:11274 deps = [
275 ":gl_lpm_fuzzer_proto",
276 ":gl_lpm_shader_to_string",
277 ":gles2",
278 ":test_support",
279 "//gpu/command_buffer/client:gles2_c_lib",
280 "//gpu/command_buffer/client:gles2_implementation",
281 "//gpu/command_buffer/common:gles2_utils",
282 "//gpu/ipc:gl_in_process_context",
283 "//gpu/ipc/service:service",
284 "//testing/gtest:gtest",
285 "//third_party/libprotobuf-mutator",
286 "//ui/gfx:gfx",
287 "//ui/gl:gl",
288 "//ui/gl/init:init",
289 ]
290 }
291}
292
Takuto Ikutaf5333252019-11-06 16:07:08293test("gl_tests") {
Dirk Pranke79d065d2020-08-29 03:28:30294 use_xvfb = use_xvfb_in_this_config
295
brettw4897a612015-03-02 23:13:15296 sources = [
Eric Karl8a6cc1662018-10-09 22:23:50297 "command_buffer/service/shared_image_backing_factory_gl_texture_unittest.cc",
Antoine Laboura36c7232018-08-02 04:31:02298 "command_buffer/service/shared_image_factory_unittest.cc",
Eric Karld69119cb2018-10-31 22:19:37299 "command_buffer/service/shared_image_manager_unittest.cc",
Eric Karl14bfb992020-01-03 01:32:21300 "command_buffer/service/shared_image_representation_unittest.cc",
Vikas Soni15503e02019-12-14 18:57:58301 "command_buffer/service/shared_image_test_utils.cc",
302 "command_buffer/service/shared_image_test_utils.h",
brettw4897a612015-03-02 23:13:15303 "command_buffer/tests/compressed_texture_test.cc",
kkinnunen631033e2015-09-23 06:39:04304 "command_buffer/tests/es3_misc_functions_unittest.cc",
junov0c614142016-07-21 18:56:02305 "command_buffer/tests/gl_bgra_mipmap_unittest.cc",
brettw4897a612015-03-02 23:13:15306 "command_buffer/tests/gl_bind_uniform_location_unittest.cc",
kkinnunena9d27e72015-12-21 17:23:44307 "command_buffer/tests/gl_chromium_framebuffer_mixed_samples_unittest.cc",
brettw4897a612015-03-02 23:13:15308 "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc",
brettw4897a612015-03-02 23:13:15309 "command_buffer/tests/gl_clear_framebuffer_unittest.cc",
erikchen38cbbce2016-03-16 17:45:44310 "command_buffer/tests/gl_copy_tex_image_2d_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15311 "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc",
dongseong.hwang9e8922b2015-09-01 11:04:49312 "command_buffer/tests/gl_cube_map_texture_unittest.cc",
brettw4897a612015-03-02 23:13:15313 "command_buffer/tests/gl_depth_texture_unittest.cc",
erikchen13338b62016-06-01 03:58:18314 "command_buffer/tests/gl_deschedule_unittest.cc",
Geoff Lang72fe4762018-10-19 15:11:36315 "command_buffer/tests/gl_discardable_textures_unittest.cc",
jinsukkim25219612016-01-20 23:24:07316 "command_buffer/tests/gl_dynamic_config_unittest.cc",
kkinnunen8cefb232015-12-04 09:36:31317 "command_buffer/tests/gl_ext_blend_func_extended_unittest.cc",
kkinnunenf26d7382015-12-01 13:34:14318 "command_buffer/tests/gl_ext_multisample_compatibility_unittest.cc",
kkinnunen0c2dee72015-11-09 11:13:58319 "command_buffer/tests/gl_ext_srgb_unittest.cc",
Kai Ninomiyabcbefdab2017-11-03 19:57:27320 "command_buffer/tests/gl_ext_window_rectangles_unittest.cc",
brettw4897a612015-03-02 23:13:15321 "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc",
Nathan Zabriskie92461a02020-02-06 20:44:27322 "command_buffer/tests/gl_helper_unittest.cc",
erikchen2acd56012016-03-22 00:58:26323 "command_buffer/tests/gl_iosurface_readback_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15324 "command_buffer/tests/gl_lose_context_chromium_unittest.cc",
325 "command_buffer/tests/gl_manager.cc",
326 "command_buffer/tests/gl_manager.h",
zmo444e085e2016-10-12 01:19:32327 "command_buffer/tests/gl_map_buffer_range_unittest.cc",
erikchen7ea46082016-06-28 03:37:08328 "command_buffer/tests/gl_native_gmb_backbuffer_unittest.cc",
geofflang7b76cdf2016-11-18 19:39:31329 "command_buffer/tests/gl_object_bindings_unittest.cc",
Julien Isorcefd6c15f2018-03-15 16:51:17330 "command_buffer/tests/gl_oes_egl_image_unittest.cc",
Geoff Lang177df642018-01-29 22:23:59331 "command_buffer/tests/gl_offscreen_surface_unittest.cc",
Antoine Labour0b77eb12017-07-08 04:00:44332 "command_buffer/tests/gl_oob_attrib_unittest.cc",
brettw4897a612015-03-02 23:13:15333 "command_buffer/tests/gl_pointcoord_unittest.cc",
334 "command_buffer/tests/gl_program_unittest.cc",
335 "command_buffer/tests/gl_query_unittest.cc",
336 "command_buffer/tests/gl_readback_unittest.cc",
kkinnunen5d3785f2016-02-19 16:59:37337 "command_buffer/tests/gl_request_extension_unittest.cc",
Antoine Labourbd8e233b2017-08-24 17:01:31338 "command_buffer/tests/gl_set_aggressively_free_resources_unittest.cc",
brettw4897a612015-03-02 23:13:15339 "command_buffer/tests/gl_shared_resources_unittest.cc",
340 "command_buffer/tests/gl_stream_draw_unittest.cc",
341 "command_buffer/tests/gl_test_utils.cc",
342 "command_buffer/tests/gl_test_utils.h",
Takuto Ikutaf5333252019-11-06 16:07:08343 "command_buffer/tests/gl_tests_main.cc",
brettw4897a612015-03-02 23:13:15344 "command_buffer/tests/gl_texture_mailbox_unittest.cc",
345 "command_buffer/tests/gl_texture_storage_unittest.cc",
Antoine Labourc47ea482019-05-28 20:00:06346 "command_buffer/tests/gl_unallocated_texture_unittest.cc",
brettw4897a612015-03-02 23:13:15347 "command_buffer/tests/gl_unittest.cc",
Kai Ninomiyabcbefdab2017-11-03 19:57:27348 "command_buffer/tests/gl_virtual_contexts_ext_window_rectangles_unittest.cc",
brettw4897a612015-03-02 23:13:15349 "command_buffer/tests/gl_virtual_contexts_unittest.cc",
Austin Engb9d80fe42019-01-03 22:25:24350 "command_buffer/tests/gl_webgl_multi_draw_test.cc",
brettw4897a612015-03-02 23:13:15351 "command_buffer/tests/occlusion_query_unittest.cc",
erikchen7ea46082016-06-28 03:37:08352 "command_buffer/tests/texture_image_factory.cc",
353 "command_buffer/tests/texture_image_factory.h",
penghuangc9c73f482016-04-26 18:52:17354 "ipc/client/gpu_context_tests.h",
355 "ipc/client/gpu_in_process_context_tests.cc",
Jonathan Backer6307cee92018-04-25 19:53:43356 "ipc/client/raster_in_process_context_tests.cc",
brettw4897a612015-03-02 23:13:15357 ]
[email protected]d05751a22014-05-29 20:54:24358
Sylvain Defresne3fedff452020-10-02 12:32:57359 if (is_android) {
360 sources += [ "command_buffer/tests/gl_unittests_android.cc" ]
361 }
362
Austin Engad6842a2020-10-15 21:03:00363 # Simply loading the Vulkan driver leaks crbug.com/1134681
364 if (use_dawn && !is_lsan) {
Austin Enge4094ac2019-03-12 05:11:42365 sources += [
Rafael Cintroncc22d8e2019-10-31 00:34:20366 "command_buffer/service/webgpu_decoder_unittest.cc",
Yan, Shaobo89285ad2020-04-14 07:50:09367 "command_buffer/tests/shared_image_gl_backing_produce_dawn_unittest.cc",
Austin Enge4094ac2019-03-12 05:11:42368 "command_buffer/tests/webgpu_fence_unittest.cc",
Corentin Wallez7dab10ee2019-04-23 21:17:44369 "command_buffer/tests/webgpu_mailbox_unittest.cc",
Austin Enge4094ac2019-03-12 05:11:42370 "command_buffer/tests/webgpu_test.cc",
371 "command_buffer/tests/webgpu_test.h",
Austin Enge4094ac2019-03-12 05:11:42372 ]
Austin Eng0847fdc92019-03-12 01:48:03373 }
374
brettw4897a612015-03-02 23:13:15375 defines = [ "GL_GLEXT_PROTOTYPES" ]
[email protected]d05751a22014-05-29 20:54:24376
brettw4897a612015-03-02 23:13:15377 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
dpranke8ec93a3a2015-02-20 23:36:08378
brettw4897a612015-03-02 23:13:15379 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38380 ":gles2",
brettw4897a612015-03-02 23:13:15381 ":gpu",
382 ":test_support",
383 "//base",
384 "//base/test:test_support",
385 "//base/third_party/dynamic_annotations",
Jonathan Backer2231a002018-05-14 19:55:22386 "//cc/paint",
kylechar8eebde302017-08-22 21:50:39387 "//components/viz/test:test_support",
agrieved7a71c882015-11-20 19:53:28388 "//gpu/command_buffer/client:gles2_c_lib",
389 "//gpu/command_buffer/client:gles2_implementation",
Jonathan Backer6307cee92018-04-25 19:53:43390 "//gpu/command_buffer/client:raster",
Kai Ninomiyaccab4bc32018-08-24 08:43:40391 "//gpu/command_buffer/client:webgpu",
agrieved7a71c882015-11-20 19:53:28392 "//gpu/command_buffer/common:gles2_utils",
fsamuel600b99e2016-11-11 07:50:26393 "//gpu/ipc:gl_in_process_context",
Jonathan Backer76dfd502018-05-03 18:34:31394 "//gpu/ipc/host",
Antoine Labour5f0b2672018-01-05 22:42:59395 "//gpu/ipc/service",
Jonathan Backerdba4be62019-05-15 20:41:54396 "//mojo/core/embedder",
brettw4897a612015-03-02 23:13:15397 "//testing/gmock",
398 "//testing/gtest",
399 "//third_party/angle:translator",
Miguel Casasb9ff17522019-05-09 15:02:04400 "//third_party/libyuv",
brettw4897a612015-03-02 23:13:15401 "//ui/gfx",
402 "//ui/gfx:test_support",
403 "//ui/gfx/geometry",
404 "//ui/gl",
Miguel Casasb9ff17522019-05-09 15:02:04405 "//ui/gl:test_support",
Antoine Labour5f0b2672018-01-05 22:42:59406 "//ui/gl/init",
brettw4897a612015-03-02 23:13:15407 ]
[email protected]d05751a22014-05-29 20:54:24408
Daniele Castagna7aec44bd2019-07-29 17:16:10409 if (use_ozone) {
410 deps += [ "//ui/ozone" ]
411 }
412
brettw4897a612015-03-02 23:13:15413 libs = []
cjhopman09981a92014-10-27 17:11:18414
brettw4897a612015-03-02 23:13:15415 if (is_android) {
brettw4897a612015-03-02 23:13:15416 libs += [ "android" ]
agrieve97176362015-12-01 16:36:19417 deps += [ "//ui/android:ui_java" ]
Vikas Soni7f68793d2018-10-19 01:42:22418 sources += [ "command_buffer/service/shared_image_backing_factory_ahardwarebuffer_unittest.cc" ]
thakis85138c42016-05-13 23:16:40419 } else if (is_mac) {
Robert Sesek276565882020-07-08 01:06:52420 frameworks = [ "IOSurface.framework" ]
Corentin Wallez3a6d6ae52019-03-07 20:18:25421 sources += [ "command_buffer/service/shared_image_backing_factory_iosurface_unittest.cc" ]
jbauman78f5d7d2017-03-29 21:47:36422 } else if (is_win) {
423 deps += [
424 "//ui/platform_window",
425 "//ui/platform_window:platform_impls",
426 ]
Rafael Cintronbbb07042019-08-22 03:29:13427 sources += [
428 "command_buffer/service/shared_image_backing_factory_d3d_unittest.cc",
429 ]
Austin Eng2cfcca82020-10-12 18:40:58430 } else if (is_linux || is_chromeos) {
431 # Simply loading the Vulkan driver leaks crbug.com/1134681
Austin Engb7f80f232020-10-20 00:55:33432 # CFI error in third_party/vulkan_memory_allocator crbug.com/1139916
433 if (enable_vulkan && !is_lsan && !is_cfi) {
Austin Eng2cfcca82020-10-12 18:40:58434 deps += [ "//gpu/vulkan/init:init" ]
435 sources +=
436 [ "command_buffer/service/external_vk_image_factory_unittest.cc" ]
437 }
cjhopman09981a92014-10-27 17:11:18438 }
Corentin Wallez8df670792019-04-12 10:02:21439
440 if (use_dawn) {
441 deps += [
Corentin Wallezf9755ae2020-04-14 13:31:02442 "//third_party/dawn/src/dawn:dawn_proc",
Sky Malice1309d9a2019-10-30 22:22:25443 "//third_party/dawn/src/dawn:dawncpp",
Corentin Wallez687527b2020-04-08 18:40:04444 "//third_party/dawn/src/dawn_native",
Corentin Wallez8df670792019-04-12 10:02:21445 ]
446 }
Andrew Luobe83fd82019-12-19 03:07:58447
Nico Weber852532f2020-01-28 18:17:22448 data_deps = [ "//testing/buildbot/filters:gl_tests_filters" ]
brettw4897a612015-03-02 23:13:15449}
[email protected]d05751a22014-05-29 20:54:24450
brettw4897a612015-03-02 23:13:15451test("gpu_unittests") {
Dirk Pranke79d065d2020-08-29 03:28:30452 use_xvfb = use_xvfb_in_this_config
453
brettw4897a612015-03-02 23:13:15454 sources = [
455 "command_buffer/client/buffer_tracker_unittest.cc",
ericrkdc5eeaa2017-05-19 02:23:50456 "command_buffer/client/client_discardable_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15457 "command_buffer/client/cmd_buffer_helper_test.cc",
Antoine Labour9e1f40df2017-08-25 17:20:39458 "command_buffer/client/command_buffer_direct_locked.cc",
459 "command_buffer/client/command_buffer_direct_locked.h",
brettw4897a612015-03-02 23:13:15460 "command_buffer/client/fenced_allocator_test.cc",
461 "command_buffer/client/gles2_implementation_unittest.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40462 "command_buffer/client/gles2_implementation_unittest_autogen.h",
brettw4897a612015-03-02 23:13:15463 "command_buffer/client/mapped_memory_unittest.cc",
Jonathan Backer05957f22018-02-22 21:24:55464 "command_buffer/client/mock_transfer_buffer.cc",
465 "command_buffer/client/mock_transfer_buffer.h",
brettw4897a612015-03-02 23:13:15466 "command_buffer/client/program_info_manager_unittest.cc",
467 "command_buffer/client/query_tracker_unittest.cc",
Victor Miura3a4ad4f82017-12-13 06:03:45468 "command_buffer/client/raster_implementation_gles_unittest.cc",
Jonathan Backer05957f22018-02-22 21:24:55469 "command_buffer/client/raster_implementation_unittest.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40470 "command_buffer/client/raster_implementation_unittest_autogen.h",
brettw4897a612015-03-02 23:13:15471 "command_buffer/client/ring_buffer_test.cc",
Austin Eng80f1e312018-12-04 20:08:36472 "command_buffer/client/transfer_buffer_cmd_copy_helpers_unittest.cc",
brettw4897a612015-03-02 23:13:15473 "command_buffer/client/transfer_buffer_unittest.cc",
474 "command_buffer/client/vertex_array_object_manager_unittest.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40475 "command_buffer/client/webgpu_implementation_unittest.cc",
476 "command_buffer/client/webgpu_implementation_unittest_autogen.h",
ericrk8c0b7bf62017-03-17 20:07:23477 "command_buffer/common/activity_flags_unittest.cc",
brettw4897a612015-03-02 23:13:15478 "command_buffer/common/bitfield_helpers_test.cc",
hajimehoshi394636a2017-05-31 07:18:42479 "command_buffer/common/buffer_unittest.cc",
brettw4897a612015-03-02 23:13:15480 "command_buffer/common/command_buffer_shared_test.cc",
481 "command_buffer/common/debug_marker_manager_unittest.cc",
ericrk6298c712017-03-30 01:05:42482 "command_buffer/common/discardable_handle_unittest.cc",
brettw4897a612015-03-02 23:13:15483 "command_buffer/common/gles2_cmd_format_test.cc",
484 "command_buffer/common/gles2_cmd_format_test_autogen.h",
485 "command_buffer/common/gles2_cmd_utils_unittest.cc",
486 "command_buffer/common/id_allocator_test.cc",
Jonathan Backer228781f2018-01-24 15:53:30487 "command_buffer/common/raster_cmd_format_test.cc",
488 "command_buffer/common/raster_cmd_format_test_autogen.h",
brettw4897a612015-03-02 23:13:15489 "command_buffer/common/unittest_main.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40490 "command_buffer/common/webgpu_cmd_format_test.cc",
491 "command_buffer/common/webgpu_cmd_format_test_autogen.h",
brettw4897a612015-03-02 23:13:15492 "command_buffer/service/buffer_manager_unittest.cc",
Geoff Lang0eedd6162017-11-07 17:56:15493 "command_buffer/service/client_service_map_unittest.cc",
brettw4897a612015-03-02 23:13:15494 "command_buffer/service/command_buffer_service_unittest.cc",
495 "command_buffer/service/common_decoder_unittest.cc",
496 "command_buffer/service/context_group_unittest.cc",
Antoine Labour303cf952019-06-18 20:44:32497 "command_buffer/service/context_state_test_helpers.cc",
498 "command_buffer/service/context_state_test_helpers.h",
499 "command_buffer/service/context_state_test_helpers_autogen.h",
zmo5ee097e2015-05-14 19:13:52500 "command_buffer/service/context_state_unittest.cc",
brettw4897a612015-03-02 23:13:15501 "command_buffer/service/feature_info_unittest.cc",
502 "command_buffer/service/framebuffer_manager_unittest.cc",
sieversfbaa5dc2015-04-28 00:45:31503 "command_buffer/service/gl_context_mock.cc",
504 "command_buffer/service/gl_context_mock.h",
piman39f67692016-05-12 03:25:14505 "command_buffer/service/gl_context_virtual_unittest.cc",
brettw4897a612015-03-02 23:13:15506 "command_buffer/service/gl_surface_mock.cc",
507 "command_buffer/service/gl_surface_mock.h",
508 "command_buffer/service/gles2_cmd_decoder_unittest.cc",
509 "command_buffer/service/gles2_cmd_decoder_unittest.h",
brettw4897a612015-03-02 23:13:15510 "command_buffer/service/gles2_cmd_decoder_unittest_1.cc",
511 "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h",
512 "command_buffer/service/gles2_cmd_decoder_unittest_2.cc",
513 "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h",
514 "command_buffer/service/gles2_cmd_decoder_unittest_3.cc",
515 "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h",
Jonathan Backer7229d0232018-01-25 18:35:04516 "command_buffer/service/gles2_cmd_decoder_unittest_4.cc",
517 "command_buffer/service/gles2_cmd_decoder_unittest_4_autogen.h",
brettw4897a612015-03-02 23:13:15518 "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc",
519 "command_buffer/service/gles2_cmd_decoder_unittest_base.cc",
520 "command_buffer/service/gles2_cmd_decoder_unittest_base.h",
zmoa06b9882015-03-10 20:50:34521 "command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc",
sieversfbaa5dc2015-04-28 00:45:31522 "command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc",
brettw4897a612015-03-02 23:13:15523 "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc",
524 "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc",
525 "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc",
526 "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc",
527 "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc",
528 "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc",
brettw4897a612015-03-02 23:13:15529 "command_buffer/service/gpu_service_test.cc",
530 "command_buffer/service/gpu_service_test.h",
531 "command_buffer/service/gpu_tracer_unittest.cc",
Khushal7324ec42018-07-10 20:01:45532 "command_buffer/service/gr_cache_controller_unittest.cc",
Khushalc2667e32018-07-20 01:07:18533 "command_buffer/service/gr_shader_cache_unittest.cc",
brettw4897a612015-03-02 23:13:15534 "command_buffer/service/id_manager_unittest.cc",
zmo6c468ba2016-05-04 20:00:51535 "command_buffer/service/indexed_buffer_binding_host_unittest.cc",
brettw4897a612015-03-02 23:13:15536 "command_buffer/service/mailbox_manager_unittest.cc",
537 "command_buffer/service/memory_program_cache_unittest.cc",
Austin Engca284cfb2019-02-28 04:34:42538 "command_buffer/service/multi_draw_manager_unittest.cc",
Shahbaz Youssefi42f333562018-10-03 15:58:02539 "command_buffer/service/passthrough_program_cache_unittest.cc",
brettw4897a612015-03-02 23:13:15540 "command_buffer/service/program_cache_unittest.cc",
541 "command_buffer/service/program_manager_unittest.cc",
542 "command_buffer/service/query_manager_unittest.cc",
Jonathan Backer016bd97e2018-03-14 15:26:39543 "command_buffer/service/raster_decoder_unittest.cc",
Jonathan Backera4568da12018-01-31 16:25:04544 "command_buffer/service/raster_decoder_unittest_1.cc",
545 "command_buffer/service/raster_decoder_unittest_base.cc",
546 "command_buffer/service/raster_decoder_unittest_base.h",
Jonathan Backer4f9ee5fb2018-04-25 14:03:38547 "command_buffer/service/raster_decoder_unittest_context_lost.cc",
brettw4897a612015-03-02 23:13:15548 "command_buffer/service/renderbuffer_manager_unittest.cc",
sunnyps8f9139e2017-05-12 17:53:25549 "command_buffer/service/scheduler_unittest.cc",
ericrkdc5eeaa2017-05-19 02:23:50550 "command_buffer/service/service_discardable_manager_unittest.cc",
Khushal96f72652018-06-01 23:50:06551 "command_buffer/service/service_transfer_cache_unittest.cc",
brettw4897a612015-03-02 23:13:15552 "command_buffer/service/shader_manager_unittest.cc",
553 "command_buffer/service/shader_translator_cache_unittest.cc",
554 "command_buffer/service/shader_translator_unittest.cc",
Antoine Labour6736a9c52019-06-19 00:06:31555 "command_buffer/service/shared_context_state_unittest.cc",
dyen5c38a032015-10-07 18:58:31556 "command_buffer/service/sync_point_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15557 "command_buffer/service/texture_manager_unittest.cc",
558 "command_buffer/service/transfer_buffer_manager_unittest.cc",
zmo6c468ba2016-05-04 20:00:51559 "command_buffer/service/transform_feedback_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15560 "command_buffer/service/vertex_array_manager_unittest.cc",
561 "command_buffer/service/vertex_attrib_manager_unittest.cc",
Chris Blume29bf5362019-09-06 02:34:45562 "config/gpu_blocklist_unittest.cc",
brettw4897a612015-03-02 23:13:15563 "config/gpu_control_list_entry_unittest.cc",
zmo2602bcf2017-04-01 00:12:03564 "config/gpu_control_list_testing_arrays_and_structs_autogen.h",
565 "config/gpu_control_list_testing_autogen.cc",
566 "config/gpu_control_list_testing_autogen.h",
567 "config/gpu_control_list_testing_data.h",
568 "config/gpu_control_list_testing_entry_enums_autogen.h",
569 "config/gpu_control_list_testing_exceptions_autogen.h",
brettw4897a612015-03-02 23:13:15570 "config/gpu_control_list_unittest.cc",
zmo2602bcf2017-04-01 00:12:03571 "config/gpu_control_list_version_unittest.cc",
brettw4897a612015-03-02 23:13:15572 "config/gpu_driver_bug_list_unittest.cc",
573 "config/gpu_info_collector_unittest.cc",
Daksh Idnani2733255d2019-07-04 01:56:45574 "config/gpu_info_unittest.cc",
Jonathan Backer16cc8fd2018-05-31 19:59:22575 "config/gpu_preferences_unittest.cc",
brettw4897a612015-03-02 23:13:15576 "config/gpu_test_config_unittest.cc",
577 "config/gpu_test_expectations_parser_unittest.cc",
578 "config/gpu_util_unittest.cc",
Sunny Sachanandanidde88772018-03-23 03:37:10579 "ipc/client/command_buffer_proxy_impl_unittest.cc",
pwarrena627fc7c2019-12-05 16:49:23580 "ipc/client/image_decode_accelerator_proxy_unittest.cc",
Michael Spang4d2bcd1e2018-03-08 02:26:47581 "ipc/common/gpu_memory_buffer_impl_shared_memory_unittest.cc",
582 "ipc/common/gpu_memory_buffer_impl_test_template.h",
Miyoung Shin90c92d1f2019-08-01 01:21:13583 "ipc/common/mojom_traits_unittest.cc",
sadrul9095a6d2016-12-13 14:35:47584 "ipc/host/shader_disk_cache_unittest.cc",
Sunny Sachanandanid312f222018-03-27 03:36:44585 "ipc/service/gpu_channel_manager_unittest.cc",
586 "ipc/service/gpu_channel_test_common.cc",
587 "ipc/service/gpu_channel_test_common.h",
588 "ipc/service/gpu_channel_unittest.cc",
Maggie Chen70d697d2019-07-10 02:32:26589 "ipc/service/gpu_watchdog_thread_unittest.cc",
brettw4897a612015-03-02 23:13:15590 ]
penghuangc9c73f482016-04-26 18:52:17591
Yuta Hijikata78b21352020-12-17 00:31:01592 if (is_chromeos_ash) {
Andres Calderon Jaramillo56d9f1ea2019-05-24 19:57:34593 # Image decode acceleration with hardware is only supported in Chrome OS.
594 # The intention is to run this test in the linux-chromeos build.
595 sources += [ "ipc/service/image_decode_accelerator_stub_unittest.cc" ]
596 }
597
penghuang346a46f92016-03-31 21:37:52598 if (is_mac) {
Sunny Sachanandanid312f222018-03-27 03:36:44599 sources += [
600 "ipc/common/gpu_memory_buffer_impl_io_surface_unittest.cc",
601 "ipc/service/gpu_memory_buffer_factory_io_surface_unittest.cc",
602 ]
penghuang346a46f92016-03-31 21:37:52603 }
dpranke8ec93a3a2015-02-20 23:36:08604
Sean McAllister224ef732020-08-04 17:27:55605 if (is_linux || is_chromeos || use_ozone) {
Sunny Sachanandanid312f222018-03-27 03:36:44606 sources += [
607 "ipc/common/gpu_memory_buffer_impl_native_pixmap_unittest.cc",
608 "ipc/service/gpu_memory_buffer_factory_native_pixmap_unittest.cc",
609 ]
julien.isorcefdc307c22017-04-13 08:49:01610 }
611
Bill Orrb54509c2017-10-26 21:57:30612 if (is_win) {
Sunny Sachanandanid312f222018-03-27 03:36:44613 sources += [
614 "ipc/common/gpu_memory_buffer_impl_dxgi_unittest.cc",
615 "ipc/service/gpu_memory_buffer_factory_dxgi_unittest.cc",
Sunny Sachanandanid312f222018-03-27 03:36:44616 ]
Bill Orrb54509c2017-10-26 21:57:30617 }
618
Klaus Weidner3824a8882017-11-03 06:24:57619 if (is_android) {
Klaus Weidnera81592e2017-12-09 19:13:18620 sources += [
Michael Spang4d2bcd1e2018-03-08 02:26:47621 "ipc/common/gpu_memory_buffer_impl_android_hardware_buffer_unittest.cc",
Klaus Weidnera81592e2017-12-09 19:13:18622 ]
623 }
624
Sean McAllister224ef732020-08-04 17:27:55625 if (is_linux || is_chromeos || is_android || is_chromeos) {
Klaus Weidnera81592e2017-12-09 19:13:18626 sources += [ "command_buffer/service/gpu_fence_manager_unittest.cc" ]
Klaus Weidner3824a8882017-11-03 06:24:57627 }
628
Geoff Lang6a7d4762017-08-24 15:05:50629 # TODO(geofflang): Run passthrough command decoder unittests on more platforms
630 # once initialization of ANGLE's NULL context is supported
Sean McAllister224ef732020-08-04 17:27:55631 if ((is_win || ((is_linux || is_chromeos) && !use_ozone)) && !is_asan) {
Corentin Wallez9527cb22017-10-02 20:07:09632 sources += [
633 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_buffers.cc",
Geoff Lang83b310b2017-10-30 21:51:47634 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_commands.cc",
Geoff Lang72fe4762018-10-19 15:11:36635 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_discardable_textures.cc",
Corentin Wallezc19bed12017-10-11 21:10:57636 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_drawing.cc",
Corentin Wallez9527cb22017-10-02 20:07:09637 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_framebuffers.cc",
Eric Karl643f9632018-10-18 20:06:55638 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_textures.cc",
Corentin Wallez9527cb22017-10-02 20:07:09639 ]
Geoff Lang6a7d4762017-08-24 15:05:50640 }
641
Rijubrata Bhaumikda53e7232017-11-03 11:10:11642 configs += [ "//build/config:precompiled_headers" ]
[email protected]d5ba08c2014-06-18 07:01:08643
brettw4897a612015-03-02 23:13:15644 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38645 ":gles2",
brettw4897a612015-03-02 23:13:15646 ":gpu",
647 ":test_support",
648 "//base",
649 "//base/test:test_support",
650 "//base/third_party/dynamic_annotations",
Yuta Hijikata7471d26f2020-10-23 03:27:42651 "//build:chromeos_buildflags",
Eric Karl16711ec2017-11-18 00:58:11652 "//cc/paint",
Victor Miura3a4ad4f82017-12-13 06:03:45653 "//components/viz/common:resource_format",
agrieved7a71c882015-11-20 19:53:28654 "//gpu/command_buffer/client:gles2_c_lib",
655 "//gpu/command_buffer/client:gles2_implementation",
Antoine Labour011cf772018-01-23 00:38:39656 "//gpu/command_buffer/client:raster",
Kai Ninomiyaccab4bc32018-08-24 08:43:40657 "//gpu/command_buffer/client:webgpu",
Sunny Sachanandanid312f222018-03-27 03:36:44658 "//gpu/command_buffer/common",
agrieved7a71c882015-11-20 19:53:28659 "//gpu/command_buffer/common:gles2_utils",
Sunny Sachanandanid312f222018-03-27 03:36:44660 "//gpu/command_buffer/service",
Andres Calderon Jaramilloc8c27692018-12-11 01:38:37661 "//gpu/config",
fsamuel600b99e2016-11-11 07:50:26662 "//gpu/ipc:gl_in_process_context",
Sunny Sachanandanidde88772018-03-23 03:37:10663 "//gpu/ipc/client",
Sunny Sachanandanid312f222018-03-27 03:36:44664 "//gpu/ipc/common",
fsamuel3de22242016-06-01 05:37:04665 "//gpu/ipc/common:test_interfaces",
sadrul9095a6d2016-12-13 14:35:47666 "//gpu/ipc/host",
Sunny Sachanandanid312f222018-03-27 03:36:44667 "//gpu/ipc/service",
Sunny Sachanandanidde88772018-03-23 03:37:10668 "//ipc:test_support",
Ken Rockotf03d97c952018-07-04 22:08:10669 "//mojo/core/embedder",
fsamuel3de22242016-06-01 05:37:04670 "//mojo/public/cpp/bindings",
Alexandr Ilin701a0bc2018-10-30 20:34:29671 "//mojo/public/cpp/test_support:test_utils",
sadrul9095a6d2016-12-13 14:35:47672 "//net:test_support",
Sunny Sachanandanid312f222018-03-27 03:36:44673 "//skia",
brettw4897a612015-03-02 23:13:15674 "//testing/gmock",
675 "//testing/gtest",
676 "//third_party/angle:translator",
Alexis Hetu0f218862018-08-13 18:51:42677 "//third_party/mesa_headers",
brettw4897a612015-03-02 23:13:15678 "//ui/gfx",
tfarinaf89722432015-05-15 19:30:19679 "//ui/gfx:test_support",
agrieved7a71c882015-11-20 19:53:28680 "//ui/gfx/geometry",
brettw4897a612015-03-02 23:13:15681 "//ui/gl",
tfarinaf89722432015-05-15 19:30:19682 "//ui/gl:gl_unittest_utils",
sadrulba162cd2015-07-20 22:34:26683 "//ui/gl:test_support",
Sunny Sachanandanid312f222018-03-27 03:36:44684 "//url",
brettw4897a612015-03-02 23:13:15685 ]
dongseong.hwangd4a00dd72016-04-08 07:09:00686
penghuangc9c73f482016-04-26 18:52:17687 if (is_android) {
688 deps += [
689 "//ui/android:ui_java",
690 "//ui/gl:gl_jni_headers",
691 ]
692 }
693
dongseong.hwangd4a00dd72016-04-08 07:09:00694 if (use_ozone) {
695 deps += [ "//ui/ozone" ]
dongseong.hwangd4a00dd72016-04-08 07:09:00696 }
brettw4897a612015-03-02 23:13:15697}
[email protected]c7990dbf2014-07-23 22:35:10698
brettw4897a612015-03-02 23:13:15699test("gpu_perftests") {
700 sources = [
701 "perftests/measurements.cc",
wychen589d05e2017-03-31 00:06:36702 "perftests/measurements.h",
brettw4897a612015-03-02 23:13:15703 "perftests/run_all_tests.cc",
704 "perftests/texture_upload_perftest.cc",
705 ]
dcastagna3e60aaa92015-01-29 19:23:45706
brettw4897a612015-03-02 23:13:15707 deps = [
Antoine Labourc6ade252017-10-19 01:01:16708 ":gpu",
brettw4897a612015-03-02 23:13:15709 "//base",
710 "//base/test:test_support",
Antoine Labourc6ade252017-10-19 01:01:16711 "//gpu/command_buffer/client:gles2_implementation",
dcastagnaac138e52015-03-10 00:22:09712 "//testing/gmock",
brettw4897a612015-03-02 23:13:15713 "//testing/gtest",
714 "//testing/perf",
715 "//ui/gfx/geometry",
716 "//ui/gl",
kylechar5b9dec12016-05-16 15:40:57717 "//ui/gl/init",
brettw4897a612015-03-02 23:13:15718 ]
krasinca63e412016-05-12 02:53:25719
Daniele Castagnac2c9b432019-03-26 21:28:14720 if (use_ozone) {
Maksim Sisov3adb34c2020-06-26 16:54:53721 deps += [
722 "//ui/base:features",
723 "//ui/ozone",
724 ]
Daniele Castagnac2c9b432019-03-26 21:28:14725 }
726
Emily Hanleyea23f352018-05-31 19:33:33727 data_deps = [
eyaichd3e023c12016-11-14 22:41:01728 # Needed for isolate script to execute.
Emily Hanleyea23f352018-05-31 19:33:33729 "//testing:run_perf_test",
Alexis Hetu0f218862018-08-13 18:51:42730 "//third_party/mesa_headers",
eyaichd3e023c12016-11-14 22:41:01731 ]
732
krasinca63e412016-05-12 02:53:25733 # This target should not require the Chrome executable to run.
734 assert_no_deps = [ "//chrome" ]
brettw4897a612015-03-02 23:13:15735}
piman5adadcfc2016-07-14 23:52:35736
Antoine Labourc6ade252017-10-19 01:01:16737test("command_buffer_perftests") {
738 sources = [
739 "command_buffer/tests/decoder_perftest.cc",
740 "perftests/run_all_tests.cc",
741 ]
742
743 deps = [
744 ":gpu",
745 "//base",
746 "//base/test:test_support",
Antoine Labour83a0aed12018-01-10 04:52:38747 "//gpu/command_buffer/client:gles2_cmd_helper",
Antoine Labourc6ade252017-10-19 01:01:16748 "//gpu/command_buffer/client:gles2_implementation",
Antoine Labour83a0aed12018-01-10 04:52:38749 "//gpu/command_buffer/service:gles2",
Antoine Labourc6ade252017-10-19 01:01:16750 "//testing/gtest",
751 "//testing/perf",
752 "//ui/gfx/geometry",
753 "//ui/gl",
754 "//ui/gl/init",
755 ]
756
Daniele Castagnac2c9b432019-03-26 21:28:14757 if (use_ozone) {
Maksim Sisov3adb34c2020-06-26 16:54:53758 deps += [
759 "//ui/base:features",
760 "//ui/ozone",
761 ]
Daniele Castagnac2c9b432019-03-26 21:28:14762 }
763
Emily Hanleyea23f352018-05-31 19:33:33764 data_deps = [
Antoine Labourc6ade252017-10-19 01:01:16765 # Needed for isolate script to execute.
Emily Hanleyea23f352018-05-31 19:33:33766 "//testing:run_perf_test",
Antoine Labourc6ade252017-10-19 01:01:16767 ]
768
769 # This target should not require the Chrome executable to run.
770 assert_no_deps = [ "//chrome" ]
771}
772
piman5adadcfc2016-07-14 23:52:35773fuzzer_test("gpu_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22774 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
piman5adadcfc2016-07-14 23:52:35775
776 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38777 ":gles2",
piman5adadcfc2016-07-14 23:52:35778 ":gpu",
779 "//base",
Raul Tambree584ee72019-01-15 07:07:55780 "//base:i18n",
piman5adadcfc2016-07-14 23:52:35781 "//base/third_party/dynamic_annotations",
piman5adadcfc2016-07-14 23:52:35782 "//ui/gfx/geometry",
783 "//ui/gl",
784 "//ui/gl:test_support",
785 ]
786
piman450231b42016-12-09 02:13:03787 libfuzzer_options = [ "max_len=16384" ]
788}
789
Sean McAllister224ef732020-08-04 17:27:55790if (is_linux || is_chromeos) {
cwallez689d5622016-12-13 17:54:19791 fuzzer_test("gpu_angle_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22792 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
piman450231b42016-12-09 02:13:03793
cwallez689d5622016-12-13 17:54:19794 defines = [ "GPU_FUZZER_USE_ANGLE" ]
piman450231b42016-12-09 02:13:03795
cwallez689d5622016-12-13 17:54:19796 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38797 ":gles2",
cwallez689d5622016-12-13 17:54:19798 ":gpu",
799 "//base",
800 "//base/third_party/dynamic_annotations",
cwallez689d5622016-12-13 17:54:19801 "//ui/gfx/geometry",
802 "//ui/gl",
803 "//ui/gl:test_support",
804 ]
piman450231b42016-12-09 02:13:03805
cwallez689d5622016-12-13 17:54:19806 libfuzzer_options = [ "max_len=16384" ]
807 }
geofflang547de952017-03-20 17:05:49808
809 fuzzer_test("gpu_angle_passthrough_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22810 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
geofflang547de952017-03-20 17:05:49811
812 defines = [
813 "GPU_FUZZER_USE_ANGLE",
814 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
815 ]
816
817 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38818 ":gles2",
geofflang547de952017-03-20 17:05:49819 ":gpu",
820 "//base",
821 "//base/third_party/dynamic_annotations",
geofflang547de952017-03-20 17:05:49822 "//ui/gfx/geometry",
823 "//ui/gl",
824 "//ui/gl:test_support",
825 ]
826
827 libfuzzer_options = [ "max_len=16384" ]
828 }
Antoine Labour8057b672017-06-10 01:18:05829
830 fuzzer_test("gpu_swiftshader_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22831 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Antoine Labour8057b672017-06-10 01:18:05832
833 defines = [ "GPU_FUZZER_USE_SWIFTSHADER" ]
834
835 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38836 ":gles2",
Antoine Labour8057b672017-06-10 01:18:05837 ":gpu",
838 "//base",
839 "//base/third_party/dynamic_annotations",
Antoine Labour8057b672017-06-10 01:18:05840 "//ui/gfx/geometry",
841 "//ui/gl",
842 "//ui/gl:test_support",
843 ]
844
845 libfuzzer_options = [ "max_len=16384" ]
846 }
Jonathan Backera210e802018-05-16 13:30:27847
Geoff Lange3a06462020-05-05 18:44:02848 fuzzer_test("gpu_swangle_passthrough_fuzzer") {
849 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
850
851 defines = [
852 "GPU_FUZZER_USE_ANGLE",
853 "GPU_FUZZER_USE_SWANGLE",
854 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
855 ]
856
857 deps = [
858 ":gles2",
859 ":gpu",
860 "//base",
861 "//base/third_party/dynamic_annotations",
862 "//ui/gfx/geometry",
863 "//ui/gl",
864 "//ui/gl:test_support",
865 ]
866
867 libfuzzer_options = [ "max_len=16384" ]
868 }
869
Jonathan Backera210e802018-05-16 13:30:27870 fuzzer_test("gpu_raster_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22871 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backera210e802018-05-16 13:30:27872
873 defines = [ "GPU_FUZZER_USE_RASTER_DECODER" ]
874
875 deps = [
876 ":gles2",
877 ":gpu",
878 "//base",
879 "//base/third_party/dynamic_annotations",
880 "//ui/gfx/geometry",
881 "//ui/gl",
882 "//ui/gl:test_support",
883 ]
884
885 libfuzzer_options = [ "max_len=16384" ]
886 }
Jonathan Backer1874b892018-07-04 16:19:20887
Jonathan Backer92573b12019-03-04 15:33:09888 fuzzer_test("gpu_raster_passthrough_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22889 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backer92573b12019-03-04 15:33:09890
891 defines = [
892 "GPU_FUZZER_USE_ANGLE",
893 "GPU_FUZZER_USE_RASTER_DECODER",
894 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
895 ]
896
897 deps = [
898 ":gles2",
899 ":gpu",
900 "//base",
901 "//base/third_party/dynamic_annotations",
902 "//ui/gfx/geometry",
903 "//ui/gl",
904 "//ui/gl:test_support",
905 ]
906
907 libfuzzer_options = [ "max_len=16384" ]
908 }
909
Jonathan Backer1874b892018-07-04 16:19:20910 fuzzer_test("gpu_raster_swiftshader_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22911 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backer1874b892018-07-04 16:19:20912
913 defines = [
914 "GPU_FUZZER_USE_RASTER_DECODER",
915 "GPU_FUZZER_USE_SWIFTSHADER",
916 ]
917
918 deps = [
919 ":gles2",
920 ":gpu",
921 "//base",
922 "//base/third_party/dynamic_annotations",
923 "//ui/gfx/geometry",
924 "//ui/gl",
925 "//ui/gl:test_support",
926 ]
927
928 libfuzzer_options = [ "max_len=16384" ]
929 }
930
931 fuzzer_test("gpu_raster_angle_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22932 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backer1874b892018-07-04 16:19:20933
934 defines = [
935 "GPU_FUZZER_USE_RASTER_DECODER",
936 "GPU_FUZZER_USE_ANGLE",
937 ]
938
939 deps = [
940 ":gles2",
941 ":gpu",
942 "//base",
943 "//base/third_party/dynamic_annotations",
944 "//ui/gfx/geometry",
945 "//ui/gl",
946 "//ui/gl:test_support",
947 ]
948
949 libfuzzer_options = [ "max_len=16384" ]
950 }
Geoff Lange3a06462020-05-05 18:44:02951
952 fuzzer_test("gpu_raster_swangle_passthrough_fuzzer") {
953 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
954
955 defines = [
956 "GPU_FUZZER_USE_ANGLE",
957 "GPU_FUZZER_USE_SWANGLE",
958 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
959 "GPU_FUZZER_USE_RASTER_DECODER",
960 ]
961
962 deps = [
963 ":gles2",
964 ":gpu",
965 "//base",
966 "//base/third_party/dynamic_annotations",
967 "//ui/gfx/geometry",
968 "//ui/gl",
969 "//ui/gl:test_support",
970 ]
971
972 libfuzzer_options = [ "max_len=16384" ]
973 }
piman5adadcfc2016-07-14 23:52:35974}
Nathan Zabriskie92461a02020-02-06 20:44:27975
976# Microbenchmark to measure performance of GLHelper code, for use in
977# debugging, profiling, and optimizing.
978test("gpu_benchmark") {
979 sources = [ "command_buffer/tests/gl_helper_benchmark.cc" ]
980
981 configs += [
982 "//build/config/compiler:no_size_t_to_int_warning",
983 "//build/config:precompiled_headers",
984 "//third_party/khronos:khronos_headers",
985 ]
986
987 if (!is_debug && (is_win || is_android)) {
988 configs -= [ "//build/config/compiler:default_optimization" ]
989 configs += [ "//build/config/compiler:optimize_max" ]
990 }
991
992 deps = [
993 "//base",
994 "//base/test:test_support",
995 "//components/test:run_all_unittests",
996 "//components/viz/common",
997 "//components/viz/test:test_support",
998 "//gpu/command_buffer/client",
999 "//gpu/command_buffer/client:gles2_implementation",
1000 "//gpu/ipc:gl_in_process_context",
1001 "//gpu/ipc:gpu_thread_holder",
1002 "//skia",
1003 "//testing/gmock",
1004 "//testing/gtest",
1005 "//ui/gfx",
1006 ]
1007
1008 data_deps = [ "//third_party/mesa_headers" ]
1009}