blob: ecec5ac2f7780d14796142fc609e076d6fcc2f99 [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
Daniel Bratellda6b8092018-09-12 09:09:165import("//build/config/jumbo.gni")
6import("//build/config/ui.gni")
piman5adadcfc2016-07-14 23:52:357import("//testing/libfuzzer/fuzzer_test.gni")
qsrfb5251d12015-01-21 15:57:228import("//testing/test.gni")
Ned Williamsoncc43ccc2019-05-24 23:45:119import("//third_party/protobuf/proto_library.gni")
Yuly Novikov09d09f42017-12-14 23:25:1710import("//ui/gl/features.gni")
qsrfb5251d12015-01-21 15:57:2211
brettw8f2fd172015-03-16 22:14:1812config("gpu_implementation") {
13 defines = [ "GPU_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3914 configs = [
15 "//build/config/compiler:noshadowing",
16 "//build/config/compiler:wexit_time_destructors",
17 ]
brettw8f2fd172015-03-16 22:14:1818}
19
Antoine Labour83a0aed12018-01-10 04:52:3820config("gpu_gles2_implementation") {
21 defines = [ "GPU_GLES2_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3922 configs = [
23 "//build/config/compiler:noshadowing",
24 "//build/config/compiler:wexit_time_destructors",
25 ]
Antoine Labour83a0aed12018-01-10 04:52:3826}
27
Zhenyao Moaad85e52017-10-17 04:04:4528config("gpu_util_implementation") {
29 defines = [ "GPU_UTIL_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3930 configs = [
31 "//build/config/compiler:noshadowing",
32 "//build/config/compiler:wexit_time_destructors",
33 ]
Zhenyao Moaad85e52017-10-17 04:04:4534}
35
Antoine Labour011cf772018-01-23 00:38:3936config("raster_implementation") {
37 defines = [ "RASTER_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3938 configs = [
39 "//build/config/compiler:noshadowing",
40 "//build/config/compiler:wexit_time_destructors",
41 ]
Antoine Labour011cf772018-01-23 00:38:3942}
43
Kai Ninomiyaccab4bc32018-08-24 08:43:4044config("webgpu_implementation") {
45 defines = [ "WEBGPU_IMPLEMENTATION" ]
Dave Tapuskab8a73b32019-09-10 13:38:3946 configs = [
47 "//build/config/compiler:noshadowing",
48 "//build/config/compiler:wexit_time_destructors",
49 ]
Kai Ninomiyaccab4bc32018-08-24 08:43:4050}
51
[email protected]d05751a22014-05-29 20:54:2452component("gpu") {
brettw7dab582e2014-09-20 01:44:1153 public_deps = [
brettw542f7532015-04-06 22:35:4554 "//gpu/command_buffer/client:client_sources",
brettw542f7532015-04-06 22:35:4555 "//gpu/command_buffer/common:common_sources",
56 "//gpu/command_buffer/service:service_sources",
57 "//gpu/config:config_sources",
penghuang346a46f92016-03-31 21:37:5258 "//gpu/ipc/client:ipc_client_sources",
markdittmercbf36ce2016-03-02 16:08:2959 "//gpu/ipc/common:ipc_common_sources",
[email protected]d05751a22014-05-29 20:54:2460 ]
61}
62
Antoine Labour83a0aed12018-01-10 04:52:3863component("gles2") {
64 public_deps = [
65 "//gpu/command_buffer/client:gles2_cmd_helper_sources",
66 "//gpu/command_buffer/common:gles2_sources",
Jonathan Backer9267bf1ec2018-03-06 19:56:5067 "//gpu/command_buffer/common:raster_sources",
Antoine Labour83a0aed12018-01-10 04:52:3868 "//gpu/command_buffer/service:gles2_sources",
69 ]
70}
71
Antoine Labour011cf772018-01-23 00:38:3972component("raster") {
Nico Weber852532f2020-01-28 18:17:2273 public_deps = [ "//gpu/command_buffer/client:raster_sources" ]
Antoine Labour011cf772018-01-23 00:38:3974}
75
Jonah Chinc66a50d2020-06-18 01:16:5976component("mailbox") {
77 defines = [ "IS_GPU_MAILBOX_IMPL" ]
78 public_deps = [ "//gpu/command_buffer/common:mailbox_sources" ]
79}
80
Kai Ninomiyaccab4bc32018-08-24 08:43:4081component("webgpu") {
Nico Weber852532f2020-01-28 18:17:2282 public_deps = [ "//gpu/command_buffer/client:webgpu_sources" ]
Kai Ninomiyaccab4bc32018-08-24 08:43:4083}
84
Yuly Novikov09d09f42017-12-14 23:25:1785if (!use_static_angle) {
86 shared_library("command_buffer_gles2") {
87 sources = [
88 # TODO(hendrikw): Move egl out of gles2_conform_support.
89 "gles2_conform_support/egl/config.cc",
90 "gles2_conform_support/egl/config.h",
91 "gles2_conform_support/egl/context.cc",
92 "gles2_conform_support/egl/context.h",
93 "gles2_conform_support/egl/display.cc",
94 "gles2_conform_support/egl/display.h",
95 "gles2_conform_support/egl/egl.cc",
96 "gles2_conform_support/egl/surface.cc",
97 "gles2_conform_support/egl/surface.h",
98 "gles2_conform_support/egl/test_support.cc",
99 "gles2_conform_support/egl/test_support.h",
100 "gles2_conform_support/egl/thread_state.cc",
101 "gles2_conform_support/egl/thread_state.h",
102 ]
hendrikw68d2c332015-09-03 23:02:18103
Yuly Novikov09d09f42017-12-14 23:25:17104 deps = [
105 ":gpu",
106 "//base",
Yuly Novikov09d09f42017-12-14 23:25:17107 "//gpu/command_buffer/client:gles2_c_lib",
Antoine Labour83a0aed12018-01-10 04:52:38108 "//gpu/command_buffer/client:gles2_cmd_helper",
Yuly Novikov09d09f42017-12-14 23:25:17109 "//gpu/command_buffer/client:gles2_implementation",
Antoine Labour83a0aed12018-01-10 04:52:38110 "//gpu/command_buffer/service:gles2",
Antoine Labour5f0b2672018-01-05 22:42:59111 "//ui/gl",
112 "//ui/gl/init",
Yuly Novikov09d09f42017-12-14 23:25:17113 ]
hendrikw68d2c332015-09-03 23:02:18114
Yuly Novikov09d09f42017-12-14 23:25:17115 defines = [
116 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
117 "EGLAPIENTRY=",
118 ]
119 if (is_android) {
120 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
121 }
122 if (current_os == "win") {
123 defines += [ "EGLAPI=__declspec(dllexport)" ]
124 } else {
125 defines += [ "EGLAPI=__attribute__((visibility(\"default\")))" ]
126 }
kkinnunen6aceb552016-02-15 08:04:35127 }
128
Yuly Novikov09d09f42017-12-14 23:25:17129 test("command_buffer_gles2_tests") {
130 sources = [
131 "command_buffer/tests/command_buffer_gles2_tests_main.cc",
132 "command_buffer/tests/egl_test.cc",
133 ]
kkinnunen6aceb552016-02-15 08:04:35134
Yuly Novikov09d09f42017-12-14 23:25:17135 deps = [
136 ":command_buffer_gles2",
137 "//base",
138 "//base/test:test_support",
139 "//base/third_party/dynamic_annotations",
140 "//testing/gmock",
141 "//testing/gtest",
142 ]
143
144 defines = [
145 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
146 "EGLAPIENTRY=",
147 ]
148 if (current_os == "win") {
149 defines += [ "EGLAPI=__declspec(dllimport)" ]
150 } else {
151 defines += [ "EGLAPI=" ]
152 }
153
154 libs = []
155
156 if (is_android) {
157 libs += [ "android" ]
158 deps += [ "//ui/android:ui_java" ]
159 }
160 if (is_linux && !is_component_build) {
161 configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
162 }
kkinnunen6aceb552016-02-15 08:04:35163 }
Yuly Novikov09d09f42017-12-14 23:25:17164} # if (!use_static_angle)
kkinnunen6aceb552016-02-15 08:04:35165
Daniel Bratellda6b8092018-09-12 09:09:16166jumbo_static_library("test_support") {
Brett Wilson0c8745a2014-09-08 22:59:49167 testonly = true
[email protected]d05751a22014-05-29 20:54:24168 sources = [
Antoine Labour1bec1072017-06-06 19:37:03169 "command_buffer/client/client_test_helper.cc",
170 "command_buffer/client/client_test_helper.h",
[email protected]d05751a22014-05-29 20:54:24171 "command_buffer/client/gles2_interface_stub.cc",
172 "command_buffer/client/gles2_interface_stub.h",
Corentin Wallez254606d2019-04-26 09:15:16173 "command_buffer/client/gles2_interface_stub_autogen.h",
174 "command_buffer/client/gles2_interface_stub_impl_autogen.h",
175 "command_buffer/client/webgpu_interface_stub.cc",
176 "command_buffer/client/webgpu_interface_stub.h",
177 "command_buffer/client/webgpu_interface_stub_autogen.h",
178 "command_buffer/client/webgpu_interface_stub_impl_autogen.h",
Jonathan Backer8629c392018-04-04 23:01:03179 "command_buffer/service/copy_texture_chromium_mock.cc",
180 "command_buffer/service/copy_texture_chromium_mock.h",
satoruxc5bd7a32015-02-18 01:54:52181 "command_buffer/service/error_state_mock.cc",
thakisb8590c92017-03-23 18:14:53182 "command_buffer/service/error_state_mock.h",
satoruxc5bd7a32015-02-18 01:54:52183 "command_buffer/service/gles2_cmd_decoder_mock.cc",
thakisb8590c92017-03-23 18:14:53184 "command_buffer/service/gles2_cmd_decoder_mock.h",
Rafael Cintroncc22d8e2019-10-31 00:34:20185 "command_buffer/service/mocks.cc",
186 "command_buffer/service/mocks.h",
187 "command_buffer/service/test_helper.cc",
188 "command_buffer/service/test_helper.h",
Eric Karl6638504f2019-12-20 23:41:34189 "command_buffer/service/test_shared_image_backing.cc",
190 "command_buffer/service/test_shared_image_backing.h",
Jonathan Backer0cd1c4322018-04-17 16:57:10191 "ipc/raster_in_process_context.cc",
192 "ipc/raster_in_process_context.h",
Sunny Sachanandanid312f222018-03-27 03:36:44193 "ipc/service/gpu_memory_buffer_factory_test_template.h",
Kai Ninomiyaccab4bc32018-08-24 08:43:40194 "ipc/webgpu_in_process_context.cc",
195 "ipc/webgpu_in_process_context.h",
[email protected]d05751a22014-05-29 20:54:24196 ]
197
brettw7dab582e2014-09-20 01:44:11198 public_deps = [
Antoine Labour83a0aed12018-01-10 04:52:38199 ":gles2",
[email protected]d05751a22014-05-29 20:54:24200 ":gpu",
Kai Ninomiyaccab4bc32018-08-24 08:43:40201 ":webgpu",
jbromancba3d2fe2014-09-16 01:04:24202 "//gpu/command_buffer/client:gles2_interface",
Corentin Wallez254606d2019-04-26 09:15:16203 "//gpu/command_buffer/client:webgpu_interface",
kylechar1437abb2018-11-06 20:36:08204 "//gpu/ipc:gpu_thread_holder",
brettw7dab582e2014-09-20 01:44:11205 ]
206 deps = [
Jonathan Backer05d5cec2018-06-07 20:39:41207 "//base/test:test_support",
Jonathan Backer0cd1c4322018-04-17 16:57:10208 "//gpu/command_buffer/client:raster",
Antoine Labourfeab2392017-12-21 20:28:39209 "//gpu/command_buffer/common",
Jonathan Backer0cd1c4322018-04-17 16:57:10210 "//gpu/ipc:gl_in_process_context",
Sunny Sachanandanid312f222018-03-27 03:36:44211 "//gpu/ipc/common",
212 "//gpu/ipc/service",
Jonathan Backer0cd1c4322018-04-17 16:57:10213 "//gpu/skia_bindings:skia_bindings",
[email protected]d05751a22014-05-29 20:54:24214 "//testing/gmock",
215 "//testing/gtest",
Rafael Cintroncc22d8e2019-10-31 00:34:20216 "//third_party/angle:translator",
Daniel Bratell93172e3c2018-05-30 21:16:09217 "//ui/gfx:test_support",
[email protected]d05751a22014-05-29 20:54:24218 "//ui/gl:gl_unittest_utils",
Sunny Sachanandanid312f222018-03-27 03:36:44219 "//ui/gl:test_support",
[email protected]d05751a22014-05-29 20:54:24220 ]
221}
222
Ned Williamson68c9d552019-05-31 22:49:30223if (!is_android && !is_fuchsia && !is_chromeos) {
Ned Williamsoncc43ccc2019-05-24 23:45:11224 proto_library("gl_lpm_fuzzer_proto") {
Nico Weber852532f2020-01-28 18:17:22225 sources = [ "command_buffer/tests/lpm/gl_lpm_fuzzer.proto" ]
Ned Williamsoncc43ccc2019-05-24 23:45:11226
227 use_protobuf_full = true
Nico Weber852532f2020-01-28 18:17:22228 deps = [ "//third_party/protobuf:protobuf_full" ]
Ned Williamsoncc43ccc2019-05-24 23:45:11229 }
230
231 static_library("gl_lpm_shader_to_string") {
232 sources = [
233 "command_buffer/tests/lpm/gl_lpm_shader_to_string.cc",
234 "command_buffer/tests/lpm/gl_lpm_shader_to_string.h",
235 ]
236
237 deps = [
238 ":gl_lpm_fuzzer_proto",
239 "//base:base",
240 ]
241 }
242
243 test("gl_lpm_shader_to_string_unittest") {
Nico Weber852532f2020-01-28 18:17:22244 sources = [ "command_buffer/tests/lpm/gl_lpm_shader_to_string_unittest.cc" ]
Ned Williamsoncc43ccc2019-05-24 23:45:11245
246 deps = [
247 ":gl_lpm_shader_to_string",
248 "//base/test:run_all_unittests",
249 "//testing/gtest",
250 "//third_party/protobuf:protobuf_full",
251 ]
252 }
253
254 fuzzer_test("gl_lpm_fuzzer") {
255 sources = [
256 "command_buffer/tests/gl_manager.cc",
257 "command_buffer/tests/gl_manager.h",
258 "command_buffer/tests/gl_test_utils.cc",
259 "command_buffer/tests/gl_test_utils.h",
260 "command_buffer/tests/lpm/gl_lpm_fuzzer.cc",
261 ]
262
263 defines = [ "GL_GLEXT_PROTOTYPES" ]
264
Ned Williamsonbb29f7f2019-05-28 22:46:49265 if (is_mac) {
266 libs = [ "IOSurface.framework" ]
267 }
268
Ned Williamsoncc43ccc2019-05-24 23:45:11269 deps = [
270 ":gl_lpm_fuzzer_proto",
271 ":gl_lpm_shader_to_string",
272 ":gles2",
273 ":test_support",
274 "//gpu/command_buffer/client:gles2_c_lib",
275 "//gpu/command_buffer/client:gles2_implementation",
276 "//gpu/command_buffer/common:gles2_utils",
277 "//gpu/ipc:gl_in_process_context",
278 "//gpu/ipc/service:service",
279 "//testing/gtest:gtest",
280 "//third_party/libprotobuf-mutator",
281 "//ui/gfx:gfx",
282 "//ui/gl:gl",
283 "//ui/gl/init:init",
284 ]
285 }
286}
287
Takuto Ikutaf5333252019-11-06 16:07:08288test("gl_tests") {
brettw4897a612015-03-02 23:13:15289 sources = [
Eric Karl8a6cc1662018-10-09 22:23:50290 "command_buffer/service/shared_image_backing_factory_gl_texture_unittest.cc",
Antoine Laboura36c7232018-08-02 04:31:02291 "command_buffer/service/shared_image_factory_unittest.cc",
Eric Karld69119cb2018-10-31 22:19:37292 "command_buffer/service/shared_image_manager_unittest.cc",
Eric Karl14bfb992020-01-03 01:32:21293 "command_buffer/service/shared_image_representation_unittest.cc",
Vikas Soni15503e02019-12-14 18:57:58294 "command_buffer/service/shared_image_test_utils.cc",
295 "command_buffer/service/shared_image_test_utils.h",
brettw4897a612015-03-02 23:13:15296 "command_buffer/tests/compressed_texture_test.cc",
kkinnunen631033e2015-09-23 06:39:04297 "command_buffer/tests/es3_misc_functions_unittest.cc",
junov0c614142016-07-21 18:56:02298 "command_buffer/tests/gl_bgra_mipmap_unittest.cc",
brettw4897a612015-03-02 23:13:15299 "command_buffer/tests/gl_bind_uniform_location_unittest.cc",
kkinnunena9d27e72015-12-21 17:23:44300 "command_buffer/tests/gl_chromium_framebuffer_mixed_samples_unittest.cc",
brettw4897a612015-03-02 23:13:15301 "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc",
brettw4897a612015-03-02 23:13:15302 "command_buffer/tests/gl_clear_framebuffer_unittest.cc",
erikchen38cbbce2016-03-16 17:45:44303 "command_buffer/tests/gl_copy_tex_image_2d_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15304 "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc",
dongseong.hwang9e8922b2015-09-01 11:04:49305 "command_buffer/tests/gl_cube_map_texture_unittest.cc",
brettw4897a612015-03-02 23:13:15306 "command_buffer/tests/gl_depth_texture_unittest.cc",
erikchen13338b62016-06-01 03:58:18307 "command_buffer/tests/gl_deschedule_unittest.cc",
Geoff Lang72fe4762018-10-19 15:11:36308 "command_buffer/tests/gl_discardable_textures_unittest.cc",
jinsukkim25219612016-01-20 23:24:07309 "command_buffer/tests/gl_dynamic_config_unittest.cc",
kkinnunen8cefb232015-12-04 09:36:31310 "command_buffer/tests/gl_ext_blend_func_extended_unittest.cc",
kkinnunenf26d7382015-12-01 13:34:14311 "command_buffer/tests/gl_ext_multisample_compatibility_unittest.cc",
kkinnunen0c2dee72015-11-09 11:13:58312 "command_buffer/tests/gl_ext_srgb_unittest.cc",
Kai Ninomiyabcbefdab2017-11-03 19:57:27313 "command_buffer/tests/gl_ext_window_rectangles_unittest.cc",
brettw4897a612015-03-02 23:13:15314 "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc",
Nathan Zabriskie92461a02020-02-06 20:44:27315 "command_buffer/tests/gl_helper_unittest.cc",
erikchen2acd56012016-03-22 00:58:26316 "command_buffer/tests/gl_iosurface_readback_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15317 "command_buffer/tests/gl_lose_context_chromium_unittest.cc",
318 "command_buffer/tests/gl_manager.cc",
319 "command_buffer/tests/gl_manager.h",
zmo444e085e2016-10-12 01:19:32320 "command_buffer/tests/gl_map_buffer_range_unittest.cc",
erikchen7ea46082016-06-28 03:37:08321 "command_buffer/tests/gl_native_gmb_backbuffer_unittest.cc",
geofflang7b76cdf2016-11-18 19:39:31322 "command_buffer/tests/gl_object_bindings_unittest.cc",
Julien Isorcefd6c15f2018-03-15 16:51:17323 "command_buffer/tests/gl_oes_egl_image_unittest.cc",
Geoff Lang177df642018-01-29 22:23:59324 "command_buffer/tests/gl_offscreen_surface_unittest.cc",
Antoine Labour0b77eb12017-07-08 04:00:44325 "command_buffer/tests/gl_oob_attrib_unittest.cc",
brettw4897a612015-03-02 23:13:15326 "command_buffer/tests/gl_pointcoord_unittest.cc",
327 "command_buffer/tests/gl_program_unittest.cc",
328 "command_buffer/tests/gl_query_unittest.cc",
329 "command_buffer/tests/gl_readback_unittest.cc",
kkinnunen5d3785f2016-02-19 16:59:37330 "command_buffer/tests/gl_request_extension_unittest.cc",
Antoine Labourbd8e233b2017-08-24 17:01:31331 "command_buffer/tests/gl_set_aggressively_free_resources_unittest.cc",
brettw4897a612015-03-02 23:13:15332 "command_buffer/tests/gl_shared_resources_unittest.cc",
333 "command_buffer/tests/gl_stream_draw_unittest.cc",
334 "command_buffer/tests/gl_test_utils.cc",
335 "command_buffer/tests/gl_test_utils.h",
Takuto Ikutaf5333252019-11-06 16:07:08336 "command_buffer/tests/gl_tests_main.cc",
brettw4897a612015-03-02 23:13:15337 "command_buffer/tests/gl_texture_mailbox_unittest.cc",
338 "command_buffer/tests/gl_texture_storage_unittest.cc",
Antoine Labourc47ea482019-05-28 20:00:06339 "command_buffer/tests/gl_unallocated_texture_unittest.cc",
brettw4897a612015-03-02 23:13:15340 "command_buffer/tests/gl_unittest.cc",
341 "command_buffer/tests/gl_unittests_android.cc",
Kai Ninomiyabcbefdab2017-11-03 19:57:27342 "command_buffer/tests/gl_virtual_contexts_ext_window_rectangles_unittest.cc",
brettw4897a612015-03-02 23:13:15343 "command_buffer/tests/gl_virtual_contexts_unittest.cc",
Austin Engb9d80fe42019-01-03 22:25:24344 "command_buffer/tests/gl_webgl_multi_draw_test.cc",
brettw4897a612015-03-02 23:13:15345 "command_buffer/tests/occlusion_query_unittest.cc",
erikchen7ea46082016-06-28 03:37:08346 "command_buffer/tests/texture_image_factory.cc",
347 "command_buffer/tests/texture_image_factory.h",
penghuangc9c73f482016-04-26 18:52:17348 "ipc/client/gpu_context_tests.h",
349 "ipc/client/gpu_in_process_context_tests.cc",
Jonathan Backer6307cee92018-04-25 19:53:43350 "ipc/client/raster_in_process_context_tests.cc",
brettw4897a612015-03-02 23:13:15351 ]
[email protected]d05751a22014-05-29 20:54:24352
Austin Eng0847fdc92019-03-12 01:48:03353 if (use_dawn) {
Austin Enge4094ac2019-03-12 05:11:42354 sources += [
Rafael Cintroncc22d8e2019-10-31 00:34:20355 "command_buffer/service/webgpu_decoder_unittest.cc",
Yan, Shaobo89285ad2020-04-14 07:50:09356 "command_buffer/tests/shared_image_gl_backing_produce_dawn_unittest.cc",
Austin Enge4094ac2019-03-12 05:11:42357 "command_buffer/tests/webgpu_fence_unittest.cc",
Corentin Wallez7dab10ee2019-04-23 21:17:44358 "command_buffer/tests/webgpu_mailbox_unittest.cc",
Austin Enge4094ac2019-03-12 05:11:42359 "command_buffer/tests/webgpu_test.cc",
360 "command_buffer/tests/webgpu_test.h",
Austin Enge4094ac2019-03-12 05:11:42361 ]
Austin Eng0847fdc92019-03-12 01:48:03362 }
363
brettw4897a612015-03-02 23:13:15364 defines = [ "GL_GLEXT_PROTOTYPES" ]
[email protected]d05751a22014-05-29 20:54:24365
brettw4897a612015-03-02 23:13:15366 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
dpranke8ec93a3a2015-02-20 23:36:08367
brettw4897a612015-03-02 23:13:15368 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38369 ":gles2",
brettw4897a612015-03-02 23:13:15370 ":gpu",
371 ":test_support",
372 "//base",
373 "//base/test:test_support",
374 "//base/third_party/dynamic_annotations",
Jonathan Backer2231a002018-05-14 19:55:22375 "//cc/paint",
kylechar8eebde302017-08-22 21:50:39376 "//components/viz/test:test_support",
agrieved7a71c882015-11-20 19:53:28377 "//gpu/command_buffer/client:gles2_c_lib",
378 "//gpu/command_buffer/client:gles2_implementation",
Jonathan Backer6307cee92018-04-25 19:53:43379 "//gpu/command_buffer/client:raster",
Kai Ninomiyaccab4bc32018-08-24 08:43:40380 "//gpu/command_buffer/client:webgpu",
agrieved7a71c882015-11-20 19:53:28381 "//gpu/command_buffer/common:gles2_utils",
fsamuel600b99e2016-11-11 07:50:26382 "//gpu/ipc:gl_in_process_context",
Jonathan Backer76dfd502018-05-03 18:34:31383 "//gpu/ipc/host",
Antoine Labour5f0b2672018-01-05 22:42:59384 "//gpu/ipc/service",
Jonathan Backerdba4be62019-05-15 20:41:54385 "//mojo/core/embedder",
brettw4897a612015-03-02 23:13:15386 "//testing/gmock",
387 "//testing/gtest",
388 "//third_party/angle:translator",
Miguel Casasb9ff17522019-05-09 15:02:04389 "//third_party/libyuv",
brettw4897a612015-03-02 23:13:15390 "//ui/gfx",
391 "//ui/gfx:test_support",
392 "//ui/gfx/geometry",
393 "//ui/gl",
Miguel Casasb9ff17522019-05-09 15:02:04394 "//ui/gl:test_support",
Antoine Labour5f0b2672018-01-05 22:42:59395 "//ui/gl/init",
brettw4897a612015-03-02 23:13:15396 ]
[email protected]d05751a22014-05-29 20:54:24397
Daniele Castagna7aec44bd2019-07-29 17:16:10398 if (use_ozone) {
399 deps += [ "//ui/ozone" ]
400 }
401
brettw4897a612015-03-02 23:13:15402 libs = []
cjhopman09981a92014-10-27 17:11:18403
brettw4897a612015-03-02 23:13:15404 if (is_android) {
brettw4897a612015-03-02 23:13:15405 libs += [ "android" ]
agrieve97176362015-12-01 16:36:19406 deps += [ "//ui/android:ui_java" ]
Vikas Soni7f68793d2018-10-19 01:42:22407 sources += [ "command_buffer/service/shared_image_backing_factory_ahardwarebuffer_unittest.cc" ]
thakis85138c42016-05-13 23:16:40408 } else if (is_mac) {
409 libs += [ "IOSurface.framework" ]
Corentin Wallez3a6d6ae52019-03-07 20:18:25410 sources += [ "command_buffer/service/shared_image_backing_factory_iosurface_unittest.cc" ]
jbauman78f5d7d2017-03-29 21:47:36411 } else if (is_win) {
412 deps += [
413 "//ui/platform_window",
414 "//ui/platform_window:platform_impls",
415 ]
Rafael Cintronbbb07042019-08-22 03:29:13416 sources += [
417 "command_buffer/service/shared_image_backing_factory_d3d_unittest.cc",
418 ]
cjhopman09981a92014-10-27 17:11:18419 }
Corentin Wallez8df670792019-04-12 10:02:21420
421 if (use_dawn) {
422 deps += [
Corentin Wallezf9755ae2020-04-14 13:31:02423 "//third_party/dawn/src/dawn:dawn_proc",
Sky Malice1309d9a2019-10-30 22:22:25424 "//third_party/dawn/src/dawn:dawncpp",
Corentin Wallez687527b2020-04-08 18:40:04425 "//third_party/dawn/src/dawn_native",
Corentin Wallez8df670792019-04-12 10:02:21426 ]
427 }
Andrew Luobe83fd82019-12-19 03:07:58428
Nico Weber852532f2020-01-28 18:17:22429 data_deps = [ "//testing/buildbot/filters:gl_tests_filters" ]
brettw4897a612015-03-02 23:13:15430}
[email protected]d05751a22014-05-29 20:54:24431
brettw4897a612015-03-02 23:13:15432test("gpu_unittests") {
433 sources = [
434 "command_buffer/client/buffer_tracker_unittest.cc",
ericrkdc5eeaa2017-05-19 02:23:50435 "command_buffer/client/client_discardable_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15436 "command_buffer/client/cmd_buffer_helper_test.cc",
Antoine Labour9e1f40df2017-08-25 17:20:39437 "command_buffer/client/command_buffer_direct_locked.cc",
438 "command_buffer/client/command_buffer_direct_locked.h",
brettw4897a612015-03-02 23:13:15439 "command_buffer/client/fenced_allocator_test.cc",
440 "command_buffer/client/gles2_implementation_unittest.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40441 "command_buffer/client/gles2_implementation_unittest_autogen.h",
brettw4897a612015-03-02 23:13:15442 "command_buffer/client/mapped_memory_unittest.cc",
Jonathan Backer05957f22018-02-22 21:24:55443 "command_buffer/client/mock_transfer_buffer.cc",
444 "command_buffer/client/mock_transfer_buffer.h",
brettw4897a612015-03-02 23:13:15445 "command_buffer/client/program_info_manager_unittest.cc",
446 "command_buffer/client/query_tracker_unittest.cc",
Victor Miura3a4ad4f82017-12-13 06:03:45447 "command_buffer/client/raster_implementation_gles_unittest.cc",
Jonathan Backer05957f22018-02-22 21:24:55448 "command_buffer/client/raster_implementation_unittest.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40449 "command_buffer/client/raster_implementation_unittest_autogen.h",
brettw4897a612015-03-02 23:13:15450 "command_buffer/client/ring_buffer_test.cc",
Austin Eng80f1e312018-12-04 20:08:36451 "command_buffer/client/transfer_buffer_cmd_copy_helpers_unittest.cc",
brettw4897a612015-03-02 23:13:15452 "command_buffer/client/transfer_buffer_unittest.cc",
453 "command_buffer/client/vertex_array_object_manager_unittest.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40454 "command_buffer/client/webgpu_implementation_unittest.cc",
455 "command_buffer/client/webgpu_implementation_unittest_autogen.h",
ericrk8c0b7bf62017-03-17 20:07:23456 "command_buffer/common/activity_flags_unittest.cc",
brettw4897a612015-03-02 23:13:15457 "command_buffer/common/bitfield_helpers_test.cc",
hajimehoshi394636a2017-05-31 07:18:42458 "command_buffer/common/buffer_unittest.cc",
brettw4897a612015-03-02 23:13:15459 "command_buffer/common/command_buffer_shared_test.cc",
460 "command_buffer/common/debug_marker_manager_unittest.cc",
ericrk6298c712017-03-30 01:05:42461 "command_buffer/common/discardable_handle_unittest.cc",
brettw4897a612015-03-02 23:13:15462 "command_buffer/common/gles2_cmd_format_test.cc",
463 "command_buffer/common/gles2_cmd_format_test_autogen.h",
464 "command_buffer/common/gles2_cmd_utils_unittest.cc",
465 "command_buffer/common/id_allocator_test.cc",
Jonathan Backer228781f2018-01-24 15:53:30466 "command_buffer/common/raster_cmd_format_test.cc",
467 "command_buffer/common/raster_cmd_format_test_autogen.h",
brettw4897a612015-03-02 23:13:15468 "command_buffer/common/unittest_main.cc",
Kai Ninomiyaccab4bc32018-08-24 08:43:40469 "command_buffer/common/webgpu_cmd_format_test.cc",
470 "command_buffer/common/webgpu_cmd_format_test_autogen.h",
brettw4897a612015-03-02 23:13:15471 "command_buffer/service/buffer_manager_unittest.cc",
Geoff Lang0eedd6162017-11-07 17:56:15472 "command_buffer/service/client_service_map_unittest.cc",
brettw4897a612015-03-02 23:13:15473 "command_buffer/service/command_buffer_service_unittest.cc",
474 "command_buffer/service/common_decoder_unittest.cc",
475 "command_buffer/service/context_group_unittest.cc",
Antoine Labour303cf952019-06-18 20:44:32476 "command_buffer/service/context_state_test_helpers.cc",
477 "command_buffer/service/context_state_test_helpers.h",
478 "command_buffer/service/context_state_test_helpers_autogen.h",
zmo5ee097e2015-05-14 19:13:52479 "command_buffer/service/context_state_unittest.cc",
brettw4897a612015-03-02 23:13:15480 "command_buffer/service/feature_info_unittest.cc",
481 "command_buffer/service/framebuffer_manager_unittest.cc",
sieversfbaa5dc2015-04-28 00:45:31482 "command_buffer/service/gl_context_mock.cc",
483 "command_buffer/service/gl_context_mock.h",
piman39f67692016-05-12 03:25:14484 "command_buffer/service/gl_context_virtual_unittest.cc",
[email protected]00c8a6c2018-06-05 02:22:41485 "command_buffer/service/gl_stream_texture_image_stub.cc",
486 "command_buffer/service/gl_stream_texture_image_stub.h",
brettw4897a612015-03-02 23:13:15487 "command_buffer/service/gl_surface_mock.cc",
488 "command_buffer/service/gl_surface_mock.h",
489 "command_buffer/service/gles2_cmd_decoder_unittest.cc",
490 "command_buffer/service/gles2_cmd_decoder_unittest.h",
brettw4897a612015-03-02 23:13:15491 "command_buffer/service/gles2_cmd_decoder_unittest_1.cc",
492 "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h",
493 "command_buffer/service/gles2_cmd_decoder_unittest_2.cc",
494 "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h",
495 "command_buffer/service/gles2_cmd_decoder_unittest_3.cc",
496 "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h",
Jonathan Backer7229d0232018-01-25 18:35:04497 "command_buffer/service/gles2_cmd_decoder_unittest_4.cc",
498 "command_buffer/service/gles2_cmd_decoder_unittest_4_autogen.h",
brettw4897a612015-03-02 23:13:15499 "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc",
500 "command_buffer/service/gles2_cmd_decoder_unittest_base.cc",
501 "command_buffer/service/gles2_cmd_decoder_unittest_base.h",
zmoa06b9882015-03-10 20:50:34502 "command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc",
sieversfbaa5dc2015-04-28 00:45:31503 "command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc",
brettw4897a612015-03-02 23:13:15504 "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc",
505 "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc",
506 "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc",
507 "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc",
508 "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc",
509 "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc",
brettw4897a612015-03-02 23:13:15510 "command_buffer/service/gpu_service_test.cc",
511 "command_buffer/service/gpu_service_test.h",
512 "command_buffer/service/gpu_tracer_unittest.cc",
Khushal7324ec42018-07-10 20:01:45513 "command_buffer/service/gr_cache_controller_unittest.cc",
Khushalc2667e32018-07-20 01:07:18514 "command_buffer/service/gr_shader_cache_unittest.cc",
brettw4897a612015-03-02 23:13:15515 "command_buffer/service/id_manager_unittest.cc",
zmo6c468ba2016-05-04 20:00:51516 "command_buffer/service/indexed_buffer_binding_host_unittest.cc",
brettw4897a612015-03-02 23:13:15517 "command_buffer/service/mailbox_manager_unittest.cc",
518 "command_buffer/service/memory_program_cache_unittest.cc",
Austin Engca284cfb2019-02-28 04:34:42519 "command_buffer/service/multi_draw_manager_unittest.cc",
Shahbaz Youssefi42f333562018-10-03 15:58:02520 "command_buffer/service/passthrough_program_cache_unittest.cc",
brettw4897a612015-03-02 23:13:15521 "command_buffer/service/program_cache_unittest.cc",
522 "command_buffer/service/program_manager_unittest.cc",
523 "command_buffer/service/query_manager_unittest.cc",
Jonathan Backer016bd97e2018-03-14 15:26:39524 "command_buffer/service/raster_decoder_unittest.cc",
Jonathan Backera4568da12018-01-31 16:25:04525 "command_buffer/service/raster_decoder_unittest_1.cc",
526 "command_buffer/service/raster_decoder_unittest_base.cc",
527 "command_buffer/service/raster_decoder_unittest_base.h",
Jonathan Backer4f9ee5fb2018-04-25 14:03:38528 "command_buffer/service/raster_decoder_unittest_context_lost.cc",
brettw4897a612015-03-02 23:13:15529 "command_buffer/service/renderbuffer_manager_unittest.cc",
sunnyps8f9139e2017-05-12 17:53:25530 "command_buffer/service/scheduler_unittest.cc",
ericrkdc5eeaa2017-05-19 02:23:50531 "command_buffer/service/service_discardable_manager_unittest.cc",
Khushal96f72652018-06-01 23:50:06532 "command_buffer/service/service_transfer_cache_unittest.cc",
brettw4897a612015-03-02 23:13:15533 "command_buffer/service/shader_manager_unittest.cc",
534 "command_buffer/service/shader_translator_cache_unittest.cc",
535 "command_buffer/service/shader_translator_unittest.cc",
Antoine Labour6736a9c52019-06-19 00:06:31536 "command_buffer/service/shared_context_state_unittest.cc",
dyen5c38a032015-10-07 18:58:31537 "command_buffer/service/sync_point_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15538 "command_buffer/service/texture_manager_unittest.cc",
539 "command_buffer/service/transfer_buffer_manager_unittest.cc",
zmo6c468ba2016-05-04 20:00:51540 "command_buffer/service/transform_feedback_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15541 "command_buffer/service/vertex_array_manager_unittest.cc",
542 "command_buffer/service/vertex_attrib_manager_unittest.cc",
Chris Blume29bf5362019-09-06 02:34:45543 "config/gpu_blocklist_unittest.cc",
brettw4897a612015-03-02 23:13:15544 "config/gpu_control_list_entry_unittest.cc",
zmo2602bcf2017-04-01 00:12:03545 "config/gpu_control_list_testing_arrays_and_structs_autogen.h",
546 "config/gpu_control_list_testing_autogen.cc",
547 "config/gpu_control_list_testing_autogen.h",
548 "config/gpu_control_list_testing_data.h",
549 "config/gpu_control_list_testing_entry_enums_autogen.h",
550 "config/gpu_control_list_testing_exceptions_autogen.h",
brettw4897a612015-03-02 23:13:15551 "config/gpu_control_list_unittest.cc",
zmo2602bcf2017-04-01 00:12:03552 "config/gpu_control_list_version_unittest.cc",
brettw4897a612015-03-02 23:13:15553 "config/gpu_driver_bug_list_unittest.cc",
554 "config/gpu_info_collector_unittest.cc",
Daksh Idnani2733255d2019-07-04 01:56:45555 "config/gpu_info_unittest.cc",
Jonathan Backer16cc8fd2018-05-31 19:59:22556 "config/gpu_preferences_unittest.cc",
brettw4897a612015-03-02 23:13:15557 "config/gpu_test_config_unittest.cc",
558 "config/gpu_test_expectations_parser_unittest.cc",
559 "config/gpu_util_unittest.cc",
Sunny Sachanandanidde88772018-03-23 03:37:10560 "ipc/client/command_buffer_proxy_impl_unittest.cc",
pwarrena627fc7c2019-12-05 16:49:23561 "ipc/client/image_decode_accelerator_proxy_unittest.cc",
Michael Spang4d2bcd1e2018-03-08 02:26:47562 "ipc/common/gpu_memory_buffer_impl_shared_memory_unittest.cc",
563 "ipc/common/gpu_memory_buffer_impl_test_template.h",
Miyoung Shin90c92d1f2019-08-01 01:21:13564 "ipc/common/mojom_traits_unittest.cc",
sadrul9095a6d2016-12-13 14:35:47565 "ipc/host/shader_disk_cache_unittest.cc",
Sunny Sachanandanid312f222018-03-27 03:36:44566 "ipc/service/gpu_channel_manager_unittest.cc",
567 "ipc/service/gpu_channel_test_common.cc",
568 "ipc/service/gpu_channel_test_common.h",
569 "ipc/service/gpu_channel_unittest.cc",
Maggie Chen70d697d2019-07-10 02:32:26570 "ipc/service/gpu_watchdog_thread_unittest.cc",
brettw4897a612015-03-02 23:13:15571 ]
penghuangc9c73f482016-04-26 18:52:17572
Andres Calderon Jaramillo56d9f1ea2019-05-24 19:57:34573 if (is_chromeos) {
574 # Image decode acceleration with hardware is only supported in Chrome OS.
575 # The intention is to run this test in the linux-chromeos build.
576 sources += [ "ipc/service/image_decode_accelerator_stub_unittest.cc" ]
577 }
578
penghuang346a46f92016-03-31 21:37:52579 if (is_mac) {
Sunny Sachanandanid312f222018-03-27 03:36:44580 sources += [
581 "ipc/common/gpu_memory_buffer_impl_io_surface_unittest.cc",
582 "ipc/service/gpu_memory_buffer_factory_io_surface_unittest.cc",
583 ]
penghuang346a46f92016-03-31 21:37:52584 }
dpranke8ec93a3a2015-02-20 23:36:08585
Sergey Ulanovc355a9f42019-03-25 23:53:04586 if (is_linux || use_ozone) {
Sunny Sachanandanid312f222018-03-27 03:36:44587 sources += [
588 "ipc/common/gpu_memory_buffer_impl_native_pixmap_unittest.cc",
589 "ipc/service/gpu_memory_buffer_factory_native_pixmap_unittest.cc",
590 ]
julien.isorcefdc307c22017-04-13 08:49:01591 }
592
Bill Orrb54509c2017-10-26 21:57:30593 if (is_win) {
Sunny Sachanandanid312f222018-03-27 03:36:44594 sources += [
595 "ipc/common/gpu_memory_buffer_impl_dxgi_unittest.cc",
596 "ipc/service/gpu_memory_buffer_factory_dxgi_unittest.cc",
Sunny Sachanandanid312f222018-03-27 03:36:44597 ]
Bill Orrb54509c2017-10-26 21:57:30598 }
599
Klaus Weidner3824a8882017-11-03 06:24:57600 if (is_android) {
Klaus Weidnera81592e2017-12-09 19:13:18601 sources += [
Michael Spang4d2bcd1e2018-03-08 02:26:47602 "ipc/common/gpu_memory_buffer_impl_android_hardware_buffer_unittest.cc",
Klaus Weidnera81592e2017-12-09 19:13:18603 ]
604 }
605
Michael Spang9b29875a2019-01-18 23:25:39606 if (is_linux || is_android || is_chromeos) {
Klaus Weidnera81592e2017-12-09 19:13:18607 sources += [ "command_buffer/service/gpu_fence_manager_unittest.cc" ]
Klaus Weidner3824a8882017-11-03 06:24:57608 }
609
Geoff Lang6a7d4762017-08-24 15:05:50610 # TODO(geofflang): Run passthrough command decoder unittests on more platforms
611 # once initialization of ANGLE's NULL context is supported
612 if ((is_win || (is_linux && !use_ozone)) && !is_asan) {
Corentin Wallez9527cb22017-10-02 20:07:09613 sources += [
614 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_buffers.cc",
Geoff Lang83b310b2017-10-30 21:51:47615 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_commands.cc",
Geoff Lang72fe4762018-10-19 15:11:36616 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_discardable_textures.cc",
Corentin Wallezc19bed12017-10-11 21:10:57617 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_drawing.cc",
Corentin Wallez9527cb22017-10-02 20:07:09618 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_framebuffers.cc",
Eric Karl643f9632018-10-18 20:06:55619 "command_buffer/service/gles2_cmd_decoder_passthrough_unittest_textures.cc",
Corentin Wallez9527cb22017-10-02 20:07:09620 ]
Geoff Lang6a7d4762017-08-24 15:05:50621 }
622
Rijubrata Bhaumikda53e7232017-11-03 11:10:11623 configs += [ "//build/config:precompiled_headers" ]
[email protected]d5ba08c2014-06-18 07:01:08624
brettw4897a612015-03-02 23:13:15625 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38626 ":gles2",
brettw4897a612015-03-02 23:13:15627 ":gpu",
628 ":test_support",
629 "//base",
630 "//base/test:test_support",
631 "//base/third_party/dynamic_annotations",
Eric Karl16711ec2017-11-18 00:58:11632 "//cc/paint",
Victor Miura3a4ad4f82017-12-13 06:03:45633 "//components/viz/common:resource_format",
agrieved7a71c882015-11-20 19:53:28634 "//gpu/command_buffer/client:gles2_c_lib",
635 "//gpu/command_buffer/client:gles2_implementation",
Antoine Labour011cf772018-01-23 00:38:39636 "//gpu/command_buffer/client:raster",
Kai Ninomiyaccab4bc32018-08-24 08:43:40637 "//gpu/command_buffer/client:webgpu",
Sunny Sachanandanid312f222018-03-27 03:36:44638 "//gpu/command_buffer/common",
agrieved7a71c882015-11-20 19:53:28639 "//gpu/command_buffer/common:gles2_utils",
Sunny Sachanandanid312f222018-03-27 03:36:44640 "//gpu/command_buffer/service",
Andres Calderon Jaramilloc8c27692018-12-11 01:38:37641 "//gpu/config",
fsamuel600b99e2016-11-11 07:50:26642 "//gpu/ipc:gl_in_process_context",
Sunny Sachanandanidde88772018-03-23 03:37:10643 "//gpu/ipc/client",
Sunny Sachanandanid312f222018-03-27 03:36:44644 "//gpu/ipc/common",
fsamuel3de22242016-06-01 05:37:04645 "//gpu/ipc/common:test_interfaces",
sadrul9095a6d2016-12-13 14:35:47646 "//gpu/ipc/host",
Sunny Sachanandanid312f222018-03-27 03:36:44647 "//gpu/ipc/service",
Sunny Sachanandanidde88772018-03-23 03:37:10648 "//ipc:test_support",
Ken Rockotf03d97c952018-07-04 22:08:10649 "//mojo/core/embedder",
fsamuel3de22242016-06-01 05:37:04650 "//mojo/public/cpp/bindings",
Alexandr Ilin701a0bc2018-10-30 20:34:29651 "//mojo/public/cpp/test_support:test_utils",
sadrul9095a6d2016-12-13 14:35:47652 "//net:test_support",
Sunny Sachanandanid312f222018-03-27 03:36:44653 "//skia",
brettw4897a612015-03-02 23:13:15654 "//testing/gmock",
655 "//testing/gtest",
656 "//third_party/angle:translator",
Alexis Hetu0f218862018-08-13 18:51:42657 "//third_party/mesa_headers",
brettw4897a612015-03-02 23:13:15658 "//ui/gfx",
tfarinaf89722432015-05-15 19:30:19659 "//ui/gfx:test_support",
agrieved7a71c882015-11-20 19:53:28660 "//ui/gfx/geometry",
brettw4897a612015-03-02 23:13:15661 "//ui/gl",
tfarinaf89722432015-05-15 19:30:19662 "//ui/gl:gl_unittest_utils",
sadrulba162cd2015-07-20 22:34:26663 "//ui/gl:test_support",
Sunny Sachanandanid312f222018-03-27 03:36:44664 "//url",
brettw4897a612015-03-02 23:13:15665 ]
dongseong.hwangd4a00dd72016-04-08 07:09:00666
penghuangc9c73f482016-04-26 18:52:17667 if (is_android) {
668 deps += [
669 "//ui/android:ui_java",
670 "//ui/gl:gl_jni_headers",
671 ]
672 }
673
dongseong.hwangd4a00dd72016-04-08 07:09:00674 if (use_ozone) {
675 deps += [ "//ui/ozone" ]
dongseong.hwangd4a00dd72016-04-08 07:09:00676 }
brettw4897a612015-03-02 23:13:15677}
[email protected]c7990dbf2014-07-23 22:35:10678
brettw4897a612015-03-02 23:13:15679test("gpu_perftests") {
680 sources = [
681 "perftests/measurements.cc",
wychen589d05e2017-03-31 00:06:36682 "perftests/measurements.h",
brettw4897a612015-03-02 23:13:15683 "perftests/run_all_tests.cc",
684 "perftests/texture_upload_perftest.cc",
685 ]
dcastagna3e60aaa92015-01-29 19:23:45686
brettw4897a612015-03-02 23:13:15687 deps = [
Antoine Labourc6ade252017-10-19 01:01:16688 ":gpu",
brettw4897a612015-03-02 23:13:15689 "//base",
690 "//base/test:test_support",
Antoine Labourc6ade252017-10-19 01:01:16691 "//gpu/command_buffer/client:gles2_implementation",
dcastagnaac138e52015-03-10 00:22:09692 "//testing/gmock",
brettw4897a612015-03-02 23:13:15693 "//testing/gtest",
694 "//testing/perf",
695 "//ui/gfx/geometry",
696 "//ui/gl",
kylechar5b9dec12016-05-16 15:40:57697 "//ui/gl/init",
brettw4897a612015-03-02 23:13:15698 ]
krasinca63e412016-05-12 02:53:25699
Daniele Castagnac2c9b432019-03-26 21:28:14700 if (use_ozone) {
701 deps += [ "//ui/ozone" ]
702 }
703
Emily Hanleyea23f352018-05-31 19:33:33704 data_deps = [
eyaichd3e023c12016-11-14 22:41:01705 # Needed for isolate script to execute.
Emily Hanleyea23f352018-05-31 19:33:33706 "//testing:run_perf_test",
Alexis Hetu0f218862018-08-13 18:51:42707 "//third_party/mesa_headers",
eyaichd3e023c12016-11-14 22:41:01708 ]
709
krasinca63e412016-05-12 02:53:25710 # This target should not require the Chrome executable to run.
711 assert_no_deps = [ "//chrome" ]
brettw4897a612015-03-02 23:13:15712}
piman5adadcfc2016-07-14 23:52:35713
Antoine Labourc6ade252017-10-19 01:01:16714test("command_buffer_perftests") {
715 sources = [
716 "command_buffer/tests/decoder_perftest.cc",
717 "perftests/run_all_tests.cc",
718 ]
719
720 deps = [
721 ":gpu",
722 "//base",
723 "//base/test:test_support",
Antoine Labour83a0aed12018-01-10 04:52:38724 "//gpu/command_buffer/client:gles2_cmd_helper",
Antoine Labourc6ade252017-10-19 01:01:16725 "//gpu/command_buffer/client:gles2_implementation",
Antoine Labour83a0aed12018-01-10 04:52:38726 "//gpu/command_buffer/service:gles2",
Antoine Labourc6ade252017-10-19 01:01:16727 "//testing/gtest",
728 "//testing/perf",
729 "//ui/gfx/geometry",
730 "//ui/gl",
731 "//ui/gl/init",
732 ]
733
Daniele Castagnac2c9b432019-03-26 21:28:14734 if (use_ozone) {
735 deps += [ "//ui/ozone" ]
736 }
737
Emily Hanleyea23f352018-05-31 19:33:33738 data_deps = [
Antoine Labourc6ade252017-10-19 01:01:16739 # Needed for isolate script to execute.
Emily Hanleyea23f352018-05-31 19:33:33740 "//testing:run_perf_test",
Antoine Labourc6ade252017-10-19 01:01:16741 ]
742
743 # This target should not require the Chrome executable to run.
744 assert_no_deps = [ "//chrome" ]
745}
746
piman5adadcfc2016-07-14 23:52:35747fuzzer_test("gpu_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22748 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
piman5adadcfc2016-07-14 23:52:35749
750 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38751 ":gles2",
piman5adadcfc2016-07-14 23:52:35752 ":gpu",
753 "//base",
Raul Tambree584ee72019-01-15 07:07:55754 "//base:i18n",
piman5adadcfc2016-07-14 23:52:35755 "//base/third_party/dynamic_annotations",
piman5adadcfc2016-07-14 23:52:35756 "//ui/gfx/geometry",
757 "//ui/gl",
758 "//ui/gl:test_support",
759 ]
760
piman450231b42016-12-09 02:13:03761 libfuzzer_options = [ "max_len=16384" ]
762}
763
cwallez689d5622016-12-13 17:54:19764if (is_linux) {
765 fuzzer_test("gpu_angle_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22766 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
piman450231b42016-12-09 02:13:03767
cwallez689d5622016-12-13 17:54:19768 defines = [ "GPU_FUZZER_USE_ANGLE" ]
piman450231b42016-12-09 02:13:03769
cwallez689d5622016-12-13 17:54:19770 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38771 ":gles2",
cwallez689d5622016-12-13 17:54:19772 ":gpu",
773 "//base",
774 "//base/third_party/dynamic_annotations",
cwallez689d5622016-12-13 17:54:19775 "//ui/gfx/geometry",
776 "//ui/gl",
777 "//ui/gl:test_support",
778 ]
piman450231b42016-12-09 02:13:03779
cwallez689d5622016-12-13 17:54:19780 libfuzzer_options = [ "max_len=16384" ]
781 }
geofflang547de952017-03-20 17:05:49782
783 fuzzer_test("gpu_angle_passthrough_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22784 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
geofflang547de952017-03-20 17:05:49785
786 defines = [
787 "GPU_FUZZER_USE_ANGLE",
788 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
789 ]
790
791 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38792 ":gles2",
geofflang547de952017-03-20 17:05:49793 ":gpu",
794 "//base",
795 "//base/third_party/dynamic_annotations",
geofflang547de952017-03-20 17:05:49796 "//ui/gfx/geometry",
797 "//ui/gl",
798 "//ui/gl:test_support",
799 ]
800
801 libfuzzer_options = [ "max_len=16384" ]
802 }
Antoine Labour8057b672017-06-10 01:18:05803
804 fuzzer_test("gpu_swiftshader_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22805 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Antoine Labour8057b672017-06-10 01:18:05806
807 defines = [ "GPU_FUZZER_USE_SWIFTSHADER" ]
808
809 deps = [
Antoine Labour83a0aed12018-01-10 04:52:38810 ":gles2",
Antoine Labour8057b672017-06-10 01:18:05811 ":gpu",
812 "//base",
813 "//base/third_party/dynamic_annotations",
Antoine Labour8057b672017-06-10 01:18:05814 "//ui/gfx/geometry",
815 "//ui/gl",
816 "//ui/gl:test_support",
817 ]
818
819 libfuzzer_options = [ "max_len=16384" ]
820 }
Jonathan Backera210e802018-05-16 13:30:27821
Geoff Lange3a06462020-05-05 18:44:02822 fuzzer_test("gpu_swangle_passthrough_fuzzer") {
823 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
824
825 defines = [
826 "GPU_FUZZER_USE_ANGLE",
827 "GPU_FUZZER_USE_SWANGLE",
828 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
829 ]
830
831 deps = [
832 ":gles2",
833 ":gpu",
834 "//base",
835 "//base/third_party/dynamic_annotations",
836 "//ui/gfx/geometry",
837 "//ui/gl",
838 "//ui/gl:test_support",
839 ]
840
841 libfuzzer_options = [ "max_len=16384" ]
842 }
843
Jonathan Backera210e802018-05-16 13:30:27844 fuzzer_test("gpu_raster_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22845 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backera210e802018-05-16 13:30:27846
847 defines = [ "GPU_FUZZER_USE_RASTER_DECODER" ]
848
849 deps = [
850 ":gles2",
851 ":gpu",
852 "//base",
853 "//base/third_party/dynamic_annotations",
854 "//ui/gfx/geometry",
855 "//ui/gl",
856 "//ui/gl:test_support",
857 ]
858
859 libfuzzer_options = [ "max_len=16384" ]
860 }
Jonathan Backer1874b892018-07-04 16:19:20861
Jonathan Backer92573b12019-03-04 15:33:09862 fuzzer_test("gpu_raster_passthrough_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22863 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backer92573b12019-03-04 15:33:09864
865 defines = [
866 "GPU_FUZZER_USE_ANGLE",
867 "GPU_FUZZER_USE_RASTER_DECODER",
868 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
869 ]
870
871 deps = [
872 ":gles2",
873 ":gpu",
874 "//base",
875 "//base/third_party/dynamic_annotations",
876 "//ui/gfx/geometry",
877 "//ui/gl",
878 "//ui/gl:test_support",
879 ]
880
881 libfuzzer_options = [ "max_len=16384" ]
882 }
883
Jonathan Backer1874b892018-07-04 16:19:20884 fuzzer_test("gpu_raster_swiftshader_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22885 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backer1874b892018-07-04 16:19:20886
887 defines = [
888 "GPU_FUZZER_USE_RASTER_DECODER",
889 "GPU_FUZZER_USE_SWIFTSHADER",
890 ]
891
892 deps = [
893 ":gles2",
894 ":gpu",
895 "//base",
896 "//base/third_party/dynamic_annotations",
897 "//ui/gfx/geometry",
898 "//ui/gl",
899 "//ui/gl:test_support",
900 ]
901
902 libfuzzer_options = [ "max_len=16384" ]
903 }
904
905 fuzzer_test("gpu_raster_angle_fuzzer") {
Nico Weber852532f2020-01-28 18:17:22906 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
Jonathan Backer1874b892018-07-04 16:19:20907
908 defines = [
909 "GPU_FUZZER_USE_RASTER_DECODER",
910 "GPU_FUZZER_USE_ANGLE",
911 ]
912
913 deps = [
914 ":gles2",
915 ":gpu",
916 "//base",
917 "//base/third_party/dynamic_annotations",
918 "//ui/gfx/geometry",
919 "//ui/gl",
920 "//ui/gl:test_support",
921 ]
922
923 libfuzzer_options = [ "max_len=16384" ]
924 }
Geoff Lange3a06462020-05-05 18:44:02925
926 fuzzer_test("gpu_raster_swangle_passthrough_fuzzer") {
927 sources = [ "command_buffer/tests/fuzzer_main.cc" ]
928
929 defines = [
930 "GPU_FUZZER_USE_ANGLE",
931 "GPU_FUZZER_USE_SWANGLE",
932 "GPU_FUZZER_USE_PASSTHROUGH_CMD_DECODER",
933 "GPU_FUZZER_USE_RASTER_DECODER",
934 ]
935
936 deps = [
937 ":gles2",
938 ":gpu",
939 "//base",
940 "//base/third_party/dynamic_annotations",
941 "//ui/gfx/geometry",
942 "//ui/gl",
943 "//ui/gl:test_support",
944 ]
945
946 libfuzzer_options = [ "max_len=16384" ]
947 }
piman5adadcfc2016-07-14 23:52:35948}
Nathan Zabriskie92461a02020-02-06 20:44:27949
950# Microbenchmark to measure performance of GLHelper code, for use in
951# debugging, profiling, and optimizing.
952test("gpu_benchmark") {
953 sources = [ "command_buffer/tests/gl_helper_benchmark.cc" ]
954
955 configs += [
956 "//build/config/compiler:no_size_t_to_int_warning",
957 "//build/config:precompiled_headers",
958 "//third_party/khronos:khronos_headers",
959 ]
960
961 if (!is_debug && (is_win || is_android)) {
962 configs -= [ "//build/config/compiler:default_optimization" ]
963 configs += [ "//build/config/compiler:optimize_max" ]
964 }
965
966 deps = [
967 "//base",
968 "//base/test:test_support",
969 "//components/test:run_all_unittests",
970 "//components/viz/common",
971 "//components/viz/test:test_support",
972 "//gpu/command_buffer/client",
973 "//gpu/command_buffer/client:gles2_implementation",
974 "//gpu/ipc:gl_in_process_context",
975 "//gpu/ipc:gpu_thread_holder",
976 "//skia",
977 "//testing/gmock",
978 "//testing/gtest",
979 "//ui/gfx",
980 ]
981
982 data_deps = [ "//third_party/mesa_headers" ]
983}