xref: /aosp_15_r20/external/igt-gpu-tools/tests/meson.build (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
1test_progs = [
2	'core_auth',
3	'core_getclient',
4	'core_getstats',
5	'core_getversion',
6	'core_setmaster_vs_auth',
7	'debugfs_test',
8	'dmabuf',
9	'drm_import_export',
10	'drm_mm',
11	'drm_read',
12	'kms_3d',
13	'kms_addfb_basic',
14	'kms_atomic',
15	'kms_atomic_interruptible',
16	'kms_atomic_transition',
17	'kms_available_modes_crc',
18	'kms_big_fb',
19	'kms_busy',
20	'kms_ccs',
21	'kms_color',
22	'kms_concurrent',
23	'kms_content_protection',
24	'kms_crtc_background_color',
25	'kms_cursor_crc',
26	'kms_cursor_edge_walk',
27	'kms_cursor_legacy',
28	'kms_dp_dsc',
29	'kms_draw_crc',
30	'kms_fbcon_fbt',
31	'kms_fence_pin_leak',
32	'kms_flip',
33	'kms_flip_event_leak',
34	'kms_flip_tiling',
35	'kms_force_connector_basic',
36	'kms_frontbuffer_tracking',
37	'kms_getfb',
38	'kms_hdmi_inject',
39	'kms_invalid_dotclock',
40	'kms_lease',
41	'kms_legacy_colorkey',
42	'kms_mmap_write_crc',
43	'kms_panel_fitting',
44	'kms_pipe_b_c_ivb',
45	'kms_pipe_crc_basic',
46	'kms_plane',
47	'kms_plane_alpha_blend',
48	'kms_plane_cursor',
49	'kms_plane_lowres',
50	'kms_plane_multiple',
51	'kms_plane_scaling',
52	'kms_prime',
53	'kms_prop_blob',
54	'kms_properties',
55	'kms_psr',
56	'kms_psr2_su',
57	'kms_pwrite_crc',
58	'kms_rmfb',
59	'kms_rotation_crc',
60	'kms_selftest',
61	'kms_sequence',
62	'kms_setmode',
63	'kms_sysfs_edid_timing',
64	'kms_tv_load_detect',
65	'kms_universal_plane',
66	'kms_vblank',
67	'kms_vrr',
68	'meta_test',
69	'panfrost_get_param',
70	'panfrost_gem_new',
71	'panfrost_prime',
72	'panfrost_submit',
73	'perf',
74	'prime_busy',
75	'prime_mmap',
76	'prime_mmap_coherency',
77	'prime_mmap_kms',
78	'prime_self_import',
79	'prime_udl',
80	'prime_vgem',
81	'syncobj_basic',
82	'syncobj_wait',
83	'template',
84	'tools_test',
85	'v3d_get_bo_offset',
86	'v3d_get_param',
87	'v3d_mmap',
88	'vc4_create_bo',
89	'vc4_dmabuf_poll',
90	'vc4_label_bo',
91	'vc4_lookup_fail',
92	'vc4_purgeable_bo',
93	'vc4_tiling',
94	'vc4_wait_bo',
95	'vc4_wait_seqno',
96	'vgem_basic',
97	'vgem_slow',
98]
99
100i915_progs = [
101	'gen3_mixed_blits',
102	'gen3_render_linear_blits',
103	'gen3_render_mixed_blits',
104	'gen3_render_tiledx_blits',
105	'gen3_render_tiledy_blits',
106	'gem_bad_reloc',
107	'gem_basic',
108	'gem_busy',
109	'gem_caching',
110	'gem_close',
111	'gem_close_race',
112	'gem_concurrent_blit',
113	'gem_cpu_reloc',
114	'gem_cs_prefetch',
115	'gem_cs_tlb',
116	'gem_ctx_bad_destroy',
117	'gem_ctx_clone',
118	'gem_ctx_create',
119	'gem_ctx_engines',
120	'gem_ctx_exec',
121	'gem_ctx_isolation',
122	'gem_ctx_param',
123	'gem_ctx_shared',
124	'gem_ctx_switch',
125	'gem_ctx_thrash',
126	'gem_double_irq_loop',
127	'gem_evict_alignment',
128	'gem_evict_everything',
129	'gem_exec_alignment',
130	'gem_exec_async',
131	'gem_exec_await',
132	'gem_exec_bad_domains',
133	'gem_exec_basic',
134	'gem_exec_big',
135	'gem_exec_blt',
136	'gem_exec_capture',
137	'gem_exec_create',
138	'gem_exec_faulting_reloc',
139	'gem_exec_fence',
140	'gem_exec_flush',
141	'gem_exec_gttfill',
142	'gem_exec_latency',
143	'gem_exec_lut_handle',
144	'gem_exec_nop',
145	'gem_exec_parallel',
146	'gem_exec_params',
147	'gem_exec_parse',
148	'gem_exec_reloc',
149	'gem_exec_reuse',
150	'gem_exec_schedule',
151	'gem_exec_store',
152	'gem_exec_suspend',
153	'gem_exec_whisper',
154	'gem_fd_exhaustion',
155	'gem_fence_thrash',
156	'gem_fence_upload',
157	'gem_fenced_exec_thrash',
158	'gem_flink_basic',
159	'gem_flink_race',
160	'gem_gpgpu_fill',
161	'gem_gtt_cpu_tlb',
162	'gem_gtt_hog',
163	'gem_gtt_speed',
164	'gem_largeobject',
165	'gem_linear_blits',
166	'gem_lut_handle',
167	'gem_madvise',
168	'gem_media_fill',
169	'gem_media_vme',
170	'gem_mmap',
171	'gem_mmap_gtt',
172	'gem_mmap_offset_exhaustion',
173	'gem_mmap_wc',
174	'gem_partial_pwrite_pread',
175	'gem_persistent_relocs',
176	'gem_pipe_control_store_loop',
177	'gem_ppgtt',
178	'gem_pread',
179	'gem_pread_after_blit',
180	'gem_pwrite',
181	'gem_pwrite_pread',
182	'gem_pwrite_snooped',
183	'gem_read_read_speed',
184	'gem_readwrite',
185	'gem_reg_read',
186	'gem_reloc_overflow',
187	'gem_reloc_vs_gpu',
188	'gem_render_copy',
189	'gem_render_copy_redux',
190	'gem_render_linear_blits',
191	'gem_render_tiled_blits',
192	'gem_request_retire',
193	'gem_reset_stats',
194	'gem_ring_sync_copy',
195	'gem_ring_sync_loop',
196	'gem_ringfill',
197	'gem_set_tiling_vs_blt',
198	'gem_set_tiling_vs_gtt',
199	'gem_set_tiling_vs_pwrite',
200	'gem_shrink',
201	'gem_softpin',
202	'gem_spin_batch',
203	'gem_stolen',
204	'gem_storedw_batches_loop',
205	'gem_storedw_loop',
206	'gem_streaming_writes',
207	'gem_sync',
208	'gem_threaded_access_tiled',
209	'gem_tiled_blits',
210	'gem_tiled_fence_blits',
211	'gem_tiled_partial_pwrite_pread',
212	'gem_tiled_pread_basic',
213	'gem_tiled_pread_pwrite',
214	'gem_tiled_swapping',
215	'gem_tiled_wb',
216	'gem_tiled_wc',
217	'gem_tiling_max_stride',
218	'gem_unfence_active_buffers',
219	'gem_unref_active_buffers',
220	'gem_userptr_blits',
221	'gem_vm_create',
222	'gem_wait',
223	'gem_workarounds',
224	'gem_write_read_ring_switch',
225	'i915_fb_tiling',
226	'i915_getparams_basic',
227	'i915_hangman',
228	'i915_module_load',
229	'i915_pm_backlight',
230	'i915_pm_lpsp',
231	'i915_pm_rc6_residency',
232	'i915_pm_rpm',
233	'i915_pm_rps',
234	'i915_pm_sseu',
235	'i915_query',
236	'i915_selftest',
237	'i915_suspend',
238]
239
240test_deps = [ igt_deps ]
241
242if libdrm_nouveau.found()
243	test_progs += [
244		'prime_nv_api',
245		'prime_nv_pcopy',
246		'prime_nv_test',
247	]
248	test_deps += libdrm_nouveau
249endif
250
251if chamelium.found()
252	test_progs += [
253		'kms_chamelium',
254	]
255	test_deps += chamelium
256endif
257
258test_executables = []
259test_list = []
260
261foreach prog : test_progs
262	test_executables += executable(prog, prog + '.c',
263		   dependencies : test_deps,
264		   install_dir : libexecdir,
265		   install_rpath : libexecdir_rpathdir,
266		   install : true)
267	test_list += prog
268endforeach
269
270foreach prog : i915_progs
271	test_executables += executable(prog,
272		   join_paths('i915', prog + '.c'),
273		   dependencies : test_deps,
274		   install_dir : libexecdir,
275		   install_rpath : libexecdir_rpathdir,
276		   install : true)
277	test_list += prog
278endforeach
279
280test_executables += executable('gem_create',
281	   join_paths('i915', 'gem_create.c'),
282	   dependencies : test_deps + [ libatomic ],
283	   install_dir : libexecdir,
284	   install_rpath : libexecdir_rpathdir,
285	   install : true)
286test_list += 'gem_create'
287
288test_executables += executable('gem_ctx_sseu',
289	   join_paths('i915', 'gem_ctx_sseu.c'),
290	   dependencies : test_deps + [ lib_igt_perf ],
291	   install_dir : libexecdir,
292	   install_rpath : libexecdir_rpathdir,
293	   install : true)
294test_list += 'gem_ctx_sseu'
295
296test_executables += executable('gem_eio',
297	   join_paths('i915', 'gem_eio.c'),
298	   dependencies : test_deps + [ realtime ],
299	   install_dir : libexecdir,
300	   install_rpath : libexecdir_rpathdir,
301	   install : true)
302test_list += 'gem_eio'
303
304test_executables += executable('gem_exec_balancer', 'i915/gem_exec_balancer.c',
305	   dependencies : test_deps + [ lib_igt_perf ],
306	   install_dir : libexecdir,
307	   install_rpath : libexecdir_rpathdir,
308	   install : true)
309test_list += 'gem_exec_balancer'
310
311test_executables += executable('gem_mocs_settings',
312	   join_paths('i915', 'gem_mocs_settings.c'),
313	   dependencies : test_deps + [ lib_igt_perf ],
314	   install_dir : libexecdir,
315	   install_rpath : libexecdir_rpathdir,
316	   install : true)
317test_list += 'gem_mocs_settings'
318
319test_executables += executable('perf_pmu', 'perf_pmu.c',
320	   dependencies : test_deps + [ lib_igt_perf ],
321	   install_dir : libexecdir,
322	   install_rpath : libexecdir_rpathdir,
323	   install : true)
324test_list += 'perf_pmu'
325
326executable('testdisplay', ['testdisplay.c', 'testdisplay_hotplug.c'],
327	   dependencies : test_deps,
328	   install_dir : libexecdir,
329	   install_rpath : libexecdir_rpathdir,
330	   install : true)
331test_list += 'testdisplay'
332
333test_executables += executable('sw_sync', 'sw_sync.c',
334	   dependencies : test_deps + [ libatomic ],
335	   install_dir : libexecdir,
336	   install_rpath : libexecdir_rpathdir,
337	   install : true)
338test_list += 'sw_sync'
339
340subdir('amdgpu')
341
342gen_testlist = find_program('generate_testlist.sh')
343test_list_target = custom_target('testlist',
344	      output : 'test-list.txt',
345	      command : [ gen_testlist, '@OUTPUT@', test_list ],
346	      install : true,
347	      install_dir : libexecdir)
348
349test_script = find_program('igt_command_line.sh')
350foreach prog : test_list
351	test('testcase check: ' + prog, test_script, args : prog)
352endforeach
353
354executable('gem_stress', 'i915/gem_stress.c',
355	   install : true,
356	   install_dir : libexecdir,
357	   install_rpath : libexecdir_rpathdir,
358	   dependencies : igt_deps)
359
360# IMPORTANT: These tests here are all disabled because the result in sometime
361# unrecoverable gpu hangs. Don't put real testcases here.
362hang_progs = [
363	'gem_bad_batch',
364	'gem_hang',
365	'gem_bad_blit',
366	'gem_bad_address',
367	'gem_non_secure_batch',
368]
369foreach prog : hang_progs
370	executable(prog, join_paths('i915', prog + '.c'),
371			dependencies : igt_deps,
372			install : false)
373endforeach
374
375image_files = [
376  '1080p-left.png',
377  '1080p-right.png',
378  'pass.png',
379]
380install_data(sources : image_files, install_dir : datadir)
381
382subdir('intel-ci')
383