[igt-dev] [PATCH i-g-t v2] tests: Introduce i915 directory

Petri Latvala petri.latvala at intel.com
Fri Oct 19 10:02:18 UTC 2018


On Fri, Oct 19, 2018 at 11:48:54AM +0300, Arkadiusz Hiler wrote:
> We can already move all the tests with distinct prefixes: gem_, gen3_
> and i915_.
> 
> pm_ and drv_ tests will follow in batches, so we can do the
> adjustments in the reporting/filtering layer of the CI system.
> 
> v2: Fix test-list.txt generation with meson
> 
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Petri Latvala <petri.latvala at intel.com>
> Cc: Martin Peres <martin.peres at linux.intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>

Worth stating out loud why there's such a load of bovine excrement
needed for the autotools parts:

Test binaries all need to be in the same directory. After installing
it's easy to achieve but we also support running stuff from the build
directory directly. Ergo, we can't just make the tests/i915 directory
self-contained.

One more issue in meson that we both missed, the custom_target object
for test-list.txt was actually used, in docs.

With the docs building fixed,

Reviewed-by: Petri Latvala <petri.latvala at intel.com>
Tested-by: Petri Latvala <petri.latvala at intel.com> # autotools builds

> ---
>  tests/Makefile.am                             |   4 +-
>  tests/Makefile.sources                        | 519 +++++++++++++-----
>  tests/amdgpu/meson.build                      |   2 +-
>  tests/{ => i915}/gem_bad_address.c            |   0
>  tests/{ => i915}/gem_bad_batch.c              |   0
>  tests/{ => i915}/gem_bad_blit.c               |   0
>  tests/{ => i915}/gem_bad_reloc.c              |   0
>  tests/{ => i915}/gem_basic.c                  |   0
>  tests/{ => i915}/gem_busy.c                   |   0
>  tests/{ => i915}/gem_caching.c                |   0
>  tests/{ => i915}/gem_close.c                  |   0
>  tests/{ => i915}/gem_close_race.c             |   0
>  tests/{ => i915}/gem_concurrent_all.c         |   0
>  tests/{ => i915}/gem_concurrent_blit.c        |   0
>  tests/{ => i915}/gem_cpu_reloc.c              |   0
>  tests/{ => i915}/gem_create.c                 |   0
>  tests/{ => i915}/gem_cs_prefetch.c            |   0
>  tests/{ => i915}/gem_cs_tlb.c                 |   0
>  tests/{ => i915}/gem_ctx_bad_destroy.c        |   0
>  tests/{ => i915}/gem_ctx_create.c             |   0
>  tests/{ => i915}/gem_ctx_exec.c               |   0
>  tests/{ => i915}/gem_ctx_isolation.c          |   0
>  tests/{ => i915}/gem_ctx_param.c              |   0
>  tests/{ => i915}/gem_ctx_switch.c             |   0
>  tests/{ => i915}/gem_ctx_thrash.c             |   0
>  tests/{ => i915}/gem_double_irq_loop.c        |   0
>  tests/{ => i915}/gem_eio.c                    |   0
>  tests/{ => i915}/gem_evict_alignment.c        |   0
>  tests/{ => i915}/gem_evict_everything.c       |   0
>  tests/{ => i915}/gem_exec_alignment.c         |   0
>  tests/{ => i915}/gem_exec_async.c             |   0
>  tests/{ => i915}/gem_exec_await.c             |   0
>  tests/{ => i915}/gem_exec_bad_domains.c       |   0
>  tests/{ => i915}/gem_exec_basic.c             |   0
>  tests/{ => i915}/gem_exec_big.c               |   0
>  tests/{ => i915}/gem_exec_blt.c               |   0
>  tests/{ => i915}/gem_exec_capture.c           |   0
>  tests/{ => i915}/gem_exec_create.c            |   0
>  tests/{ => i915}/gem_exec_faulting_reloc.c    |   0
>  tests/{ => i915}/gem_exec_fence.c             |   0
>  tests/{ => i915}/gem_exec_flush.c             |   0
>  tests/{ => i915}/gem_exec_gttfill.c           |   0
>  tests/{ => i915}/gem_exec_latency.c           |   0
>  tests/{ => i915}/gem_exec_lut_handle.c        |   0
>  tests/{ => i915}/gem_exec_nop.c               |   0
>  tests/{ => i915}/gem_exec_parallel.c          |   0
>  tests/{ => i915}/gem_exec_params.c            |   0
>  tests/{ => i915}/gem_exec_parse.c             |   0
>  tests/{ => i915}/gem_exec_reloc.c             |   0
>  tests/{ => i915}/gem_exec_reuse.c             |   0
>  tests/{ => i915}/gem_exec_schedule.c          |   0
>  tests/{ => i915}/gem_exec_store.c             |   0
>  tests/{ => i915}/gem_exec_suspend.c           |   0
>  tests/{ => i915}/gem_exec_whisper.c           |   0
>  tests/{ => i915}/gem_fd_exhaustion.c          |   0
>  tests/{ => i915}/gem_fence_thrash.c           |   0
>  tests/{ => i915}/gem_fence_upload.c           |   0
>  tests/{ => i915}/gem_fenced_exec_thrash.c     |   0
>  tests/{ => i915}/gem_flink_basic.c            |   0
>  tests/{ => i915}/gem_flink_race.c             |   0
>  tests/{ => i915}/gem_gpgpu_fill.c             |   0
>  tests/{ => i915}/gem_gtt_cpu_tlb.c            |   0
>  tests/{ => i915}/gem_gtt_hog.c                |   0
>  tests/{ => i915}/gem_gtt_speed.c              |   0
>  tests/{ => i915}/gem_hang.c                   |   0
>  tests/{ => i915}/gem_largeobject.c            |   0
>  tests/{ => i915}/gem_linear_blits.c           |   0
>  tests/{ => i915}/gem_lut_handle.c             |   0
>  tests/{ => i915}/gem_madvise.c                |   0
>  tests/{ => i915}/gem_media_fill.c             |   0
>  tests/{ => i915}/gem_mmap.c                   |   0
>  tests/{ => i915}/gem_mmap_gtt.c               |   0
>  tests/{ => i915}/gem_mmap_offset_exhaustion.c |   0
>  tests/{ => i915}/gem_mmap_wc.c                |   0
>  tests/{ => i915}/gem_mocs_settings.c          |   0
>  tests/{ => i915}/gem_non_secure_batch.c       |   0
>  tests/{ => i915}/gem_partial_pwrite_pread.c   |   0
>  tests/{ => i915}/gem_persistent_relocs.c      |   0
>  .../{ => i915}/gem_pipe_control_store_loop.c  |   0
>  tests/{ => i915}/gem_ppgtt.c                  |   0
>  tests/{ => i915}/gem_pread.c                  |   0
>  tests/{ => i915}/gem_pread_after_blit.c       |   0
>  tests/{ => i915}/gem_pwrite.c                 |   0
>  tests/{ => i915}/gem_pwrite_pread.c           |   0
>  tests/{ => i915}/gem_pwrite_snooped.c         |   0
>  tests/{ => i915}/gem_read_read_speed.c        |   0
>  tests/{ => i915}/gem_readwrite.c              |   0
>  tests/{ => i915}/gem_reg_read.c               |   0
>  tests/{ => i915}/gem_reloc_overflow.c         |   0
>  tests/{ => i915}/gem_reloc_vs_gpu.c           |   0
>  tests/{ => i915}/gem_render_copy.c            |   0
>  tests/{ => i915}/gem_render_copy_redux.c      |   0
>  tests/{ => i915}/gem_render_linear_blits.c    |   0
>  tests/{ => i915}/gem_render_tiled_blits.c     |   0
>  tests/{ => i915}/gem_request_retire.c         |   0
>  tests/{ => i915}/gem_reset_stats.c            |   0
>  tests/{ => i915}/gem_ring_sync_copy.c         |   0
>  tests/{ => i915}/gem_ring_sync_loop.c         |   0
>  tests/{ => i915}/gem_ringfill.c               |   0
>  tests/{ => i915}/gem_set_tiling_vs_blt.c      |   0
>  tests/{ => i915}/gem_set_tiling_vs_gtt.c      |   0
>  tests/{ => i915}/gem_set_tiling_vs_pwrite.c   |   0
>  tests/{ => i915}/gem_shrink.c                 |   0
>  tests/{ => i915}/gem_softpin.c                |   0
>  tests/{ => i915}/gem_spin_batch.c             |   0
>  tests/{ => i915}/gem_stolen.c                 |   0
>  tests/{ => i915}/gem_storedw_batches_loop.c   |   0
>  tests/{ => i915}/gem_storedw_loop.c           |   0
>  tests/{ => i915}/gem_streaming_writes.c       |   0
>  tests/{ => i915}/gem_stress.c                 |   0
>  tests/{ => i915}/gem_sync.c                   |   0
>  tests/{ => i915}/gem_threaded_access_tiled.c  |   0
>  tests/{ => i915}/gem_tiled_blits.c            |   0
>  tests/{ => i915}/gem_tiled_fence_blits.c      |   0
>  .../gem_tiled_partial_pwrite_pread.c          |   0
>  tests/{ => i915}/gem_tiled_pread_basic.c      |   0
>  tests/{ => i915}/gem_tiled_pread_pwrite.c     |   0
>  tests/{ => i915}/gem_tiled_swapping.c         |   0
>  tests/{ => i915}/gem_tiled_wb.c               |   0
>  tests/{ => i915}/gem_tiled_wc.c               |   0
>  tests/{ => i915}/gem_tiling_max_stride.c      |   0
>  tests/{ => i915}/gem_unfence_active_buffers.c |   0
>  tests/{ => i915}/gem_unref_active_buffers.c   |   0
>  tests/{ => i915}/gem_userptr_blits.c          |   0
>  tests/{ => i915}/gem_wait.c                   |   0
>  tests/{ => i915}/gem_workarounds.c            |   0
>  tests/{ => i915}/gem_write_read_ring_switch.c |   0
>  tests/{ => i915}/gen3_mixed_blits.c           |   0
>  tests/{ => i915}/gen3_render_linear_blits.c   |   0
>  tests/{ => i915}/gen3_render_mixed_blits.c    |   0
>  tests/{ => i915}/gen3_render_tiledx_blits.c   |   0
>  tests/{ => i915}/gen3_render_tiledy_blits.c   |   0
>  tests/{i915_query.c => i915/query.c}          |   0
>  tests/meson.build                             | 213 ++++---
>  134 files changed, 514 insertions(+), 224 deletions(-)
>  rename tests/{ => i915}/gem_bad_address.c (100%)
>  rename tests/{ => i915}/gem_bad_batch.c (100%)
>  rename tests/{ => i915}/gem_bad_blit.c (100%)
>  rename tests/{ => i915}/gem_bad_reloc.c (100%)
>  rename tests/{ => i915}/gem_basic.c (100%)
>  rename tests/{ => i915}/gem_busy.c (100%)
>  rename tests/{ => i915}/gem_caching.c (100%)
>  rename tests/{ => i915}/gem_close.c (100%)
>  rename tests/{ => i915}/gem_close_race.c (100%)
>  rename tests/{ => i915}/gem_concurrent_all.c (100%)
>  rename tests/{ => i915}/gem_concurrent_blit.c (100%)
>  rename tests/{ => i915}/gem_cpu_reloc.c (100%)
>  rename tests/{ => i915}/gem_create.c (100%)
>  rename tests/{ => i915}/gem_cs_prefetch.c (100%)
>  rename tests/{ => i915}/gem_cs_tlb.c (100%)
>  rename tests/{ => i915}/gem_ctx_bad_destroy.c (100%)
>  rename tests/{ => i915}/gem_ctx_create.c (100%)
>  rename tests/{ => i915}/gem_ctx_exec.c (100%)
>  rename tests/{ => i915}/gem_ctx_isolation.c (100%)
>  rename tests/{ => i915}/gem_ctx_param.c (100%)
>  rename tests/{ => i915}/gem_ctx_switch.c (100%)
>  rename tests/{ => i915}/gem_ctx_thrash.c (100%)
>  rename tests/{ => i915}/gem_double_irq_loop.c (100%)
>  rename tests/{ => i915}/gem_eio.c (100%)
>  rename tests/{ => i915}/gem_evict_alignment.c (100%)
>  rename tests/{ => i915}/gem_evict_everything.c (100%)
>  rename tests/{ => i915}/gem_exec_alignment.c (100%)
>  rename tests/{ => i915}/gem_exec_async.c (100%)
>  rename tests/{ => i915}/gem_exec_await.c (100%)
>  rename tests/{ => i915}/gem_exec_bad_domains.c (100%)
>  rename tests/{ => i915}/gem_exec_basic.c (100%)
>  rename tests/{ => i915}/gem_exec_big.c (100%)
>  rename tests/{ => i915}/gem_exec_blt.c (100%)
>  rename tests/{ => i915}/gem_exec_capture.c (100%)
>  rename tests/{ => i915}/gem_exec_create.c (100%)
>  rename tests/{ => i915}/gem_exec_faulting_reloc.c (100%)
>  rename tests/{ => i915}/gem_exec_fence.c (100%)
>  rename tests/{ => i915}/gem_exec_flush.c (100%)
>  rename tests/{ => i915}/gem_exec_gttfill.c (100%)
>  rename tests/{ => i915}/gem_exec_latency.c (100%)
>  rename tests/{ => i915}/gem_exec_lut_handle.c (100%)
>  rename tests/{ => i915}/gem_exec_nop.c (100%)
>  rename tests/{ => i915}/gem_exec_parallel.c (100%)
>  rename tests/{ => i915}/gem_exec_params.c (100%)
>  rename tests/{ => i915}/gem_exec_parse.c (100%)
>  rename tests/{ => i915}/gem_exec_reloc.c (100%)
>  rename tests/{ => i915}/gem_exec_reuse.c (100%)
>  rename tests/{ => i915}/gem_exec_schedule.c (100%)
>  rename tests/{ => i915}/gem_exec_store.c (100%)
>  rename tests/{ => i915}/gem_exec_suspend.c (100%)
>  rename tests/{ => i915}/gem_exec_whisper.c (100%)
>  rename tests/{ => i915}/gem_fd_exhaustion.c (100%)
>  rename tests/{ => i915}/gem_fence_thrash.c (100%)
>  rename tests/{ => i915}/gem_fence_upload.c (100%)
>  rename tests/{ => i915}/gem_fenced_exec_thrash.c (100%)
>  rename tests/{ => i915}/gem_flink_basic.c (100%)
>  rename tests/{ => i915}/gem_flink_race.c (100%)
>  rename tests/{ => i915}/gem_gpgpu_fill.c (100%)
>  rename tests/{ => i915}/gem_gtt_cpu_tlb.c (100%)
>  rename tests/{ => i915}/gem_gtt_hog.c (100%)
>  rename tests/{ => i915}/gem_gtt_speed.c (100%)
>  rename tests/{ => i915}/gem_hang.c (100%)
>  rename tests/{ => i915}/gem_largeobject.c (100%)
>  rename tests/{ => i915}/gem_linear_blits.c (100%)
>  rename tests/{ => i915}/gem_lut_handle.c (100%)
>  rename tests/{ => i915}/gem_madvise.c (100%)
>  rename tests/{ => i915}/gem_media_fill.c (100%)
>  rename tests/{ => i915}/gem_mmap.c (100%)
>  rename tests/{ => i915}/gem_mmap_gtt.c (100%)
>  rename tests/{ => i915}/gem_mmap_offset_exhaustion.c (100%)
>  rename tests/{ => i915}/gem_mmap_wc.c (100%)
>  rename tests/{ => i915}/gem_mocs_settings.c (100%)
>  rename tests/{ => i915}/gem_non_secure_batch.c (100%)
>  rename tests/{ => i915}/gem_partial_pwrite_pread.c (100%)
>  rename tests/{ => i915}/gem_persistent_relocs.c (100%)
>  rename tests/{ => i915}/gem_pipe_control_store_loop.c (100%)
>  rename tests/{ => i915}/gem_ppgtt.c (100%)
>  rename tests/{ => i915}/gem_pread.c (100%)
>  rename tests/{ => i915}/gem_pread_after_blit.c (100%)
>  rename tests/{ => i915}/gem_pwrite.c (100%)
>  rename tests/{ => i915}/gem_pwrite_pread.c (100%)
>  rename tests/{ => i915}/gem_pwrite_snooped.c (100%)
>  rename tests/{ => i915}/gem_read_read_speed.c (100%)
>  rename tests/{ => i915}/gem_readwrite.c (100%)
>  rename tests/{ => i915}/gem_reg_read.c (100%)
>  rename tests/{ => i915}/gem_reloc_overflow.c (100%)
>  rename tests/{ => i915}/gem_reloc_vs_gpu.c (100%)
>  rename tests/{ => i915}/gem_render_copy.c (100%)
>  rename tests/{ => i915}/gem_render_copy_redux.c (100%)
>  rename tests/{ => i915}/gem_render_linear_blits.c (100%)
>  rename tests/{ => i915}/gem_render_tiled_blits.c (100%)
>  rename tests/{ => i915}/gem_request_retire.c (100%)
>  rename tests/{ => i915}/gem_reset_stats.c (100%)
>  rename tests/{ => i915}/gem_ring_sync_copy.c (100%)
>  rename tests/{ => i915}/gem_ring_sync_loop.c (100%)
>  rename tests/{ => i915}/gem_ringfill.c (100%)
>  rename tests/{ => i915}/gem_set_tiling_vs_blt.c (100%)
>  rename tests/{ => i915}/gem_set_tiling_vs_gtt.c (100%)
>  rename tests/{ => i915}/gem_set_tiling_vs_pwrite.c (100%)
>  rename tests/{ => i915}/gem_shrink.c (100%)
>  rename tests/{ => i915}/gem_softpin.c (100%)
>  rename tests/{ => i915}/gem_spin_batch.c (100%)
>  rename tests/{ => i915}/gem_stolen.c (100%)
>  rename tests/{ => i915}/gem_storedw_batches_loop.c (100%)
>  rename tests/{ => i915}/gem_storedw_loop.c (100%)
>  rename tests/{ => i915}/gem_streaming_writes.c (100%)
>  rename tests/{ => i915}/gem_stress.c (100%)
>  rename tests/{ => i915}/gem_sync.c (100%)
>  rename tests/{ => i915}/gem_threaded_access_tiled.c (100%)
>  rename tests/{ => i915}/gem_tiled_blits.c (100%)
>  rename tests/{ => i915}/gem_tiled_fence_blits.c (100%)
>  rename tests/{ => i915}/gem_tiled_partial_pwrite_pread.c (100%)
>  rename tests/{ => i915}/gem_tiled_pread_basic.c (100%)
>  rename tests/{ => i915}/gem_tiled_pread_pwrite.c (100%)
>  rename tests/{ => i915}/gem_tiled_swapping.c (100%)
>  rename tests/{ => i915}/gem_tiled_wb.c (100%)
>  rename tests/{ => i915}/gem_tiled_wc.c (100%)
>  rename tests/{ => i915}/gem_tiling_max_stride.c (100%)
>  rename tests/{ => i915}/gem_unfence_active_buffers.c (100%)
>  rename tests/{ => i915}/gem_unref_active_buffers.c (100%)
>  rename tests/{ => i915}/gem_userptr_blits.c (100%)
>  rename tests/{ => i915}/gem_wait.c (100%)
>  rename tests/{ => i915}/gem_workarounds.c (100%)
>  rename tests/{ => i915}/gem_write_read_ring_switch.c (100%)
>  rename tests/{ => i915}/gen3_mixed_blits.c (100%)
>  rename tests/{ => i915}/gen3_render_linear_blits.c (100%)
>  rename tests/{ => i915}/gen3_render_mixed_blits.c (100%)
>  rename tests/{ => i915}/gen3_render_tiledx_blits.c (100%)
>  rename tests/{ => i915}/gen3_render_tiledy_blits.c (100%)
>  rename tests/{i915_query.c => i915/query.c} (100%)
> 
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index ee5a7c5e..3d1ce0bc 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -46,11 +46,13 @@ noinst_PROGRAMS = \
>  	$(NULL)
>  
>  pkglibexec_PROGRAMS = \
> -	gem_stress \
>  	$(TESTS_progs) \
>  	$(TESTS_progs_X) \
>  	$(NULL)
>  
> +pkglibexec_PROGRAMS += gem_stress
> +gem_stress_SOURCES = i915/gem_stress.c
> +
>  # Piglit expects test-list*.txt to be in the same directory as the
>  # tests. pkglibexec_DATA is an invalid combo to autotools, so work
>  # around that by defining a new directory variable that is the same as
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index cdf5a7e1..d53822fd 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -39,129 +39,6 @@ TESTS_progs = \
>  	drv_module_reload \
>  	drv_selftest \
>  	drv_suspend \
> -	gem_bad_reloc \
> -	gem_basic \
> -	gem_busy \
> -	gem_caching \
> -	gem_close \
> -	gem_close_race \
> -	gem_concurrent_blit \
> -	gem_cpu_reloc \
> -	gem_create \
> -	gem_cs_prefetch \
> -	gem_cs_tlb \
> -	gem_ctx_bad_destroy \
> -	gem_ctx_create \
> -	gem_ctx_exec \
> -	gem_ctx_isolation \
> -	gem_ctx_param \
> -	gem_ctx_switch \
> -	gem_ctx_thrash \
> -	gem_double_irq_loop \
> -	gem_eio \
> -	gem_evict_alignment \
> -	gem_evict_everything \
> -	gem_exec_alignment \
> -	gem_exec_async \
> -	gem_exec_await \
> -	gem_exec_bad_domains \
> -	gem_exec_basic \
> -	gem_exec_big \
> -	gem_exec_blt \
> -	gem_exec_capture \
> -	gem_exec_create \
> -	gem_exec_faulting_reloc \
> -	gem_exec_fence \
> -	gem_exec_flush \
> -	gem_exec_gttfill \
> -	gem_exec_latency \
> -	gem_exec_lut_handle \
> -	gem_exec_nop \
> -	gem_exec_parallel \
> -	gem_exec_params \
> -	gem_exec_parse \
> -	gem_exec_reloc \
> -	gem_exec_reuse \
> -	gem_exec_schedule \
> -	gem_exec_store \
> -	gem_exec_suspend \
> -	gem_exec_whisper \
> -	gem_fd_exhaustion \
> -	gem_fence_thrash \
> -	gem_fence_upload \
> -	gem_fenced_exec_thrash \
> -	gem_flink_basic \
> -	gem_flink_race \
> -	gem_gpgpu_fill \
> -	gem_gtt_cpu_tlb \
> -	gem_gtt_hog \
> -	gem_gtt_speed \
> -	gem_largeobject \
> -	gem_linear_blits \
> -	gem_lut_handle \
> -	gem_madvise \
> -	gem_media_fill \
> -	gem_mmap \
> -	gem_mmap_gtt \
> -	gem_mmap_offset_exhaustion \
> -	gem_mmap_wc \
> -	gem_mocs_settings \
> -	gem_partial_pwrite_pread \
> -	gem_persistent_relocs \
> -	gem_pipe_control_store_loop \
> -	gem_ppgtt \
> -	gem_pread \
> -	gem_pread_after_blit \
> -	gem_pwrite \
> -	gem_pwrite_pread \
> -	gem_pwrite_snooped \
> -	gem_read_read_speed \
> -	gem_readwrite \
> -	gem_reg_read \
> -	gem_reloc_overflow \
> -	gem_reloc_vs_gpu \
> -	gem_render_copy \
> -	gem_render_copy_redux \
> -	gem_render_linear_blits \
> -	gem_render_tiled_blits \
> -	gem_request_retire \
> -	gem_reset_stats \
> -	gem_ring_sync_copy \
> -	gem_ring_sync_loop \
> -	gem_ringfill \
> -	gem_set_tiling_vs_blt \
> -	gem_set_tiling_vs_gtt \
> -	gem_set_tiling_vs_pwrite \
> -	gem_shrink \
> -	gem_softpin \
> -	gem_spin_batch \
> -	gem_stolen \
> -	gem_storedw_batches_loop \
> -	gem_storedw_loop \
> -	gem_streaming_writes \
> -	gem_sync \
> -	gem_threaded_access_tiled \
> -	gem_tiled_blits \
> -	gem_tiled_fence_blits \
> -	gem_tiled_partial_pwrite_pread \
> -	gem_tiled_pread_basic \
> -	gem_tiled_pread_pwrite \
> -	gem_tiled_swapping \
> -	gem_tiled_wb \
> -	gem_tiled_wc \
> -	gem_tiling_max_stride \
> -	gem_unfence_active_buffers \
> -	gem_unref_active_buffers \
> -	gem_userptr_blits \
> -	gem_wait \
> -	gem_workarounds \
> -	gem_write_read_ring_switch \
> -	gen3_mixed_blits \
> -	gen3_render_linear_blits \
> -	gen3_render_mixed_blits \
> -	gen3_render_tiledx_blits \
> -	gen3_render_tiledy_blits \
> -	i915_query \
>  	kms_3d \
>  	kms_addfb_basic \
>  	kms_atomic \
> @@ -233,9 +110,378 @@ TESTS_progs = \
>  	vgem_slow \
>  	$(NULL)
>  
> -TESTS_progs_X = \
> -    gem_concurrent_all \
> -    $(NULL)
> +TESTS_progs += gem_bad_reloc
> +gem_bad_reloc_SOURCES = i915/gem_bad_reloc.c
> +
> +TESTS_progs += gem_basic
> +gem_basic_SOURCES = i915/gem_basic.c
> +
> +TESTS_progs += gem_busy
> +gem_busy_SOURCES = i915/gem_busy.c
> +
> +TESTS_progs += gem_caching
> +gem_caching_SOURCES = i915/gem_caching.c
> +
> +TESTS_progs += gem_close
> +gem_close_SOURCES = i915/gem_close.c
> +
> +TESTS_progs += gem_close_race
> +gem_close_race_SOURCES = i915/gem_close_race.c
> +
> +TESTS_progs += gem_concurrent_blit
> +gem_concurrent_blit_SOURCES = i915/gem_concurrent_blit.c
> +
> +TESTS_progs += gem_cpu_reloc
> +gem_cpu_reloc_SOURCES = i915/gem_cpu_reloc.c
> +
> +TESTS_progs += gem_create
> +gem_create_SOURCES = i915/gem_create.c
> +
> +TESTS_progs += gem_cs_prefetch
> +gem_cs_prefetch_SOURCES = i915/gem_cs_prefetch.c
> +
> +TESTS_progs += gem_cs_tlb
> +gem_cs_tlb_SOURCES = i915/gem_cs_tlb.c
> +
> +TESTS_progs += gem_ctx_bad_destroy
> +gem_ctx_bad_destroy_SOURCES = i915/gem_ctx_bad_destroy.c
> +
> +TESTS_progs += gem_ctx_create
> +gem_ctx_create_SOURCES = i915/gem_ctx_create.c
> +
> +TESTS_progs += gem_ctx_exec
> +gem_ctx_exec_SOURCES = i915/gem_ctx_exec.c
> +
> +TESTS_progs += gem_ctx_isolation
> +gem_ctx_isolation_SOURCES = i915/gem_ctx_isolation.c
> +
> +TESTS_progs += gem_ctx_param
> +gem_ctx_param_SOURCES = i915/gem_ctx_param.c
> +
> +TESTS_progs += gem_ctx_switch
> +gem_ctx_switch_SOURCES = i915/gem_ctx_switch.c
> +
> +TESTS_progs += gem_ctx_thrash
> +gem_ctx_thrash_SOURCES = i915/gem_ctx_thrash.c
> +
> +TESTS_progs += gem_double_irq_loop
> +gem_double_irq_loop_SOURCES = i915/gem_double_irq_loop.c
> +
> +TESTS_progs += gem_eio
> +gem_eio_SOURCES = i915/gem_eio.c
> +
> +TESTS_progs += gem_evict_alignment
> +gem_evict_alignment_SOURCES = i915/gem_evict_alignment.c
> +
> +TESTS_progs += gem_evict_everything
> +gem_evict_everything_SOURCES = i915/gem_evict_everything.c
> +
> +TESTS_progs += gem_exec_alignment
> +gem_exec_alignment_SOURCES = i915/gem_exec_alignment.c
> +
> +TESTS_progs += gem_exec_async
> +gem_exec_async_SOURCES = i915/gem_exec_async.c
> +
> +TESTS_progs += gem_exec_await
> +gem_exec_await_SOURCES = i915/gem_exec_await.c
> +
> +TESTS_progs += gem_exec_bad_domains
> +gem_exec_bad_domains_SOURCES = i915/gem_exec_bad_domains.c
> +
> +TESTS_progs += gem_exec_basic
> +gem_exec_basic_SOURCES = i915/gem_exec_basic.c
> +
> +TESTS_progs += gem_exec_big
> +gem_exec_big_SOURCES = i915/gem_exec_big.c
> +
> +TESTS_progs += gem_exec_blt
> +gem_exec_blt_SOURCES = i915/gem_exec_blt.c
> +
> +TESTS_progs += gem_exec_capture
> +gem_exec_capture_SOURCES = i915/gem_exec_capture.c
> +
> +TESTS_progs += gem_exec_create
> +gem_exec_create_SOURCES = i915/gem_exec_create.c
> +
> +TESTS_progs += gem_exec_faulting_reloc
> +gem_exec_faulting_reloc_SOURCES = i915/gem_exec_faulting_reloc.c
> +
> +TESTS_progs += gem_exec_fence
> +gem_exec_fence_SOURCES = i915/gem_exec_fence.c
> +
> +TESTS_progs += gem_exec_flush
> +gem_exec_flush_SOURCES = i915/gem_exec_flush.c
> +
> +TESTS_progs += gem_exec_gttfill
> +gem_exec_gttfill_SOURCES = i915/gem_exec_gttfill.c
> +
> +TESTS_progs += gem_exec_latency
> +gem_exec_latency_SOURCES = i915/gem_exec_latency.c
> +
> +TESTS_progs += gem_exec_lut_handle
> +gem_exec_lut_handle_SOURCES = i915/gem_exec_lut_handle.c
> +
> +TESTS_progs += gem_exec_nop
> +gem_exec_nop_SOURCES = i915/gem_exec_nop.c
> +
> +TESTS_progs += gem_exec_parallel
> +gem_exec_parallel_SOURCES = i915/gem_exec_parallel.c
> +
> +TESTS_progs += gem_exec_params
> +gem_exec_params_SOURCES = i915/gem_exec_params.c
> +
> +TESTS_progs += gem_exec_parse
> +gem_exec_parse_SOURCES = i915/gem_exec_parse.c
> +
> +TESTS_progs += gem_exec_reloc
> +gem_exec_reloc_SOURCES = i915/gem_exec_reloc.c
> +
> +TESTS_progs += gem_exec_reuse
> +gem_exec_reuse_SOURCES = i915/gem_exec_reuse.c
> +
> +TESTS_progs += gem_exec_schedule
> +gem_exec_schedule_SOURCES = i915/gem_exec_schedule.c
> +
> +TESTS_progs += gem_exec_store
> +gem_exec_store_SOURCES = i915/gem_exec_store.c
> +
> +TESTS_progs += gem_exec_suspend
> +gem_exec_suspend_SOURCES = i915/gem_exec_suspend.c
> +
> +TESTS_progs += gem_exec_whisper
> +gem_exec_whisper_SOURCES = i915/gem_exec_whisper.c
> +
> +TESTS_progs += gem_fd_exhaustion
> +gem_fd_exhaustion_SOURCES = i915/gem_fd_exhaustion.c
> +
> +TESTS_progs += gem_fence_thrash
> +gem_fence_thrash_SOURCES = i915/gem_fence_thrash.c
> +
> +TESTS_progs += gem_fence_upload
> +gem_fence_upload_SOURCES = i915/gem_fence_upload.c
> +
> +TESTS_progs += gem_fenced_exec_thrash
> +gem_fenced_exec_thrash_SOURCES = i915/gem_fenced_exec_thrash.c
> +
> +TESTS_progs += gem_flink_basic
> +gem_flink_basic_SOURCES = i915/gem_flink_basic.c
> +
> +TESTS_progs += gem_flink_race
> +gem_flink_race_SOURCES = i915/gem_flink_race.c
> +
> +TESTS_progs += gem_gpgpu_fill
> +gem_gpgpu_fill_SOURCES = i915/gem_gpgpu_fill.c
> +
> +TESTS_progs += gem_gtt_cpu_tlb
> +gem_gtt_cpu_tlb_SOURCES = i915/gem_gtt_cpu_tlb.c
> +
> +TESTS_progs += gem_gtt_hog
> +gem_gtt_hog_SOURCES = i915/gem_gtt_hog.c
> +
> +TESTS_progs += gem_gtt_speed
> +gem_gtt_speed_SOURCES = i915/gem_gtt_speed.c
> +
> +TESTS_progs += gem_largeobject
> +gem_largeobject_SOURCES = i915/gem_largeobject.c
> +
> +TESTS_progs += gem_linear_blits
> +gem_linear_blits_SOURCES = i915/gem_linear_blits.c
> +
> +TESTS_progs += gem_lut_handle
> +gem_lut_handle_SOURCES = i915/gem_lut_handle.c
> +
> +TESTS_progs += gem_madvise
> +gem_madvise_SOURCES = i915/gem_madvise.c
> +
> +TESTS_progs += gem_media_fill
> +gem_media_fill_SOURCES = i915/gem_media_fill.c
> +
> +TESTS_progs += gem_mmap
> +gem_mmap_SOURCES = i915/gem_mmap.c
> +
> +TESTS_progs += gem_mmap_gtt
> +gem_mmap_gtt_SOURCES = i915/gem_mmap_gtt.c
> +
> +TESTS_progs += gem_mmap_offset_exhaustion
> +gem_mmap_offset_exhaustion_SOURCES = i915/gem_mmap_offset_exhaustion.c
> +
> +TESTS_progs += gem_mmap_wc
> +gem_mmap_wc_SOURCES = i915/gem_mmap_wc.c
> +
> +TESTS_progs += gem_mocs_settings
> +gem_mocs_settings_SOURCES = i915/gem_mocs_settings.c
> +
> +TESTS_progs += gem_partial_pwrite_pread
> +gem_partial_pwrite_pread_SOURCES = i915/gem_partial_pwrite_pread.c
> +
> +TESTS_progs += gem_persistent_relocs
> +gem_persistent_relocs_SOURCES = i915/gem_persistent_relocs.c
> +
> +TESTS_progs += gem_pipe_control_store_loop
> +gem_pipe_control_store_loop_SOURCES = i915/gem_pipe_control_store_loop.c
> +
> +TESTS_progs += gem_ppgtt
> +gem_ppgtt_SOURCES = i915/gem_ppgtt.c
> +
> +TESTS_progs += gem_pread
> +gem_pread_SOURCES = i915/gem_pread.c
> +
> +TESTS_progs += gem_pread_after_blit
> +gem_pread_after_blit_SOURCES = i915/gem_pread_after_blit.c
> +
> +TESTS_progs += gem_pwrite
> +gem_pwrite_SOURCES = i915/gem_pwrite.c
> +
> +TESTS_progs += gem_pwrite_pread
> +gem_pwrite_pread_SOURCES = i915/gem_pwrite_pread.c
> +
> +TESTS_progs += gem_pwrite_snooped
> +gem_pwrite_snooped_SOURCES = i915/gem_pwrite_snooped.c
> +
> +TESTS_progs += gem_read_read_speed
> +gem_read_read_speed_SOURCES = i915/gem_read_read_speed.c
> +
> +TESTS_progs += gem_readwrite
> +gem_readwrite_SOURCES = i915/gem_readwrite.c
> +
> +TESTS_progs += gem_reg_read
> +gem_reg_read_SOURCES = i915/gem_reg_read.c
> +
> +TESTS_progs += gem_reloc_overflow
> +gem_reloc_overflow_SOURCES = i915/gem_reloc_overflow.c
> +
> +TESTS_progs += gem_reloc_vs_gpu
> +gem_reloc_vs_gpu_SOURCES = i915/gem_reloc_vs_gpu.c
> +
> +TESTS_progs += gem_render_copy
> +gem_render_copy_SOURCES = i915/gem_render_copy.c
> +
> +TESTS_progs += gem_render_copy_redux
> +gem_render_copy_redux_SOURCES = i915/gem_render_copy_redux.c
> +
> +TESTS_progs += gem_render_linear_blits
> +gem_render_linear_blits_SOURCES = i915/gem_render_linear_blits.c
> +
> +TESTS_progs += gem_render_tiled_blits
> +gem_render_tiled_blits_SOURCES = i915/gem_render_tiled_blits.c
> +
> +TESTS_progs += gem_request_retire
> +gem_request_retire_SOURCES = i915/gem_request_retire.c
> +
> +TESTS_progs += gem_reset_stats
> +gem_reset_stats_SOURCES = i915/gem_reset_stats.c
> +
> +TESTS_progs += gem_ring_sync_copy
> +gem_ring_sync_copy_SOURCES = i915/gem_ring_sync_copy.c
> +
> +TESTS_progs += gem_ring_sync_loop
> +gem_ring_sync_loop_SOURCES = i915/gem_ring_sync_loop.c
> +
> +TESTS_progs += gem_ringfill
> +gem_ringfill_SOURCES = i915/gem_ringfill.c
> +
> +TESTS_progs += gem_set_tiling_vs_blt
> +gem_set_tiling_vs_blt_SOURCES = i915/gem_set_tiling_vs_blt.c
> +
> +TESTS_progs += gem_set_tiling_vs_gtt
> +gem_set_tiling_vs_gtt_SOURCES = i915/gem_set_tiling_vs_gtt.c
> +
> +TESTS_progs += gem_set_tiling_vs_pwrite
> +gem_set_tiling_vs_pwrite_SOURCES = i915/gem_set_tiling_vs_pwrite.c
> +
> +TESTS_progs += gem_shrink
> +gem_shrink_SOURCES = i915/gem_shrink.c
> +
> +TESTS_progs += gem_softpin
> +gem_softpin_SOURCES = i915/gem_softpin.c
> +
> +TESTS_progs += gem_spin_batch
> +gem_spin_batch_SOURCES = i915/gem_spin_batch.c
> +
> +TESTS_progs += gem_stolen
> +gem_stolen_SOURCES = i915/gem_stolen.c
> +
> +TESTS_progs += gem_storedw_batches_loop
> +gem_storedw_batches_loop_SOURCES = i915/gem_storedw_batches_loop.c
> +
> +TESTS_progs += gem_storedw_loop
> +gem_storedw_loop_SOURCES = i915/gem_storedw_loop.c
> +
> +TESTS_progs += gem_streaming_writes
> +gem_streaming_writes_SOURCES = i915/gem_streaming_writes.c
> +
> +TESTS_progs += gem_sync
> +gem_sync_SOURCES = i915/gem_sync.c
> +
> +TESTS_progs += gem_threaded_access_tiled
> +gem_threaded_access_tiled_SOURCES = i915/gem_threaded_access_tiled.c
> +
> +TESTS_progs += gem_tiled_blits
> +gem_tiled_blits_SOURCES = i915/gem_tiled_blits.c
> +
> +TESTS_progs += gem_tiled_fence_blits
> +gem_tiled_fence_blits_SOURCES = i915/gem_tiled_fence_blits.c
> +
> +TESTS_progs += gem_tiled_partial_pwrite_pread
> +gem_tiled_partial_pwrite_pread_SOURCES = i915/gem_tiled_partial_pwrite_pread.c
> +
> +TESTS_progs += gem_tiled_pread_basic
> +gem_tiled_pread_basic_SOURCES = i915/gem_tiled_pread_basic.c
> +
> +TESTS_progs += gem_tiled_pread_pwrite
> +gem_tiled_pread_pwrite_SOURCES = i915/gem_tiled_pread_pwrite.c
> +
> +TESTS_progs += gem_tiled_swapping
> +gem_tiled_swapping_SOURCES = i915/gem_tiled_swapping.c
> +
> +TESTS_progs += gem_tiled_wb
> +gem_tiled_wb_SOURCES = i915/gem_tiled_wb.c
> +
> +TESTS_progs += gem_tiled_wc
> +gem_tiled_wc_SOURCES = i915/gem_tiled_wc.c
> +
> +TESTS_progs += gem_tiling_max_stride
> +gem_tiling_max_stride_SOURCES = i915/gem_tiling_max_stride.c
> +
> +TESTS_progs += gem_unfence_active_buffers
> +gem_unfence_active_buffers_SOURCES = i915/gem_unfence_active_buffers.c
> +
> +TESTS_progs += gem_unref_active_buffers
> +gem_unref_active_buffers_SOURCES = i915/gem_unref_active_buffers.c
> +
> +TESTS_progs += gem_userptr_blits
> +gem_userptr_blits_SOURCES = i915/gem_userptr_blits.c
> +
> +TESTS_progs += gem_wait
> +gem_wait_SOURCES = i915/gem_wait.c
> +
> +TESTS_progs += gem_workarounds
> +gem_workarounds_SOURCES = i915/gem_workarounds.c
> +
> +TESTS_progs += gem_write_read_ring_switch
> +gem_write_read_ring_switch_SOURCES = i915/gem_write_read_ring_switch.c
> +
> +TESTS_progs += gen3_mixed_blits
> +gen3_mixed_blits_SOURCES = i915/gen3_mixed_blits.c
> +
> +TESTS_progs += gen3_render_linear_blits
> +gen3_render_linear_blits_SOURCES = i915/gen3_render_linear_blits.c
> +
> +TESTS_progs += gen3_render_mixed_blits
> +gen3_render_mixed_blits_SOURCES = i915/gen3_render_mixed_blits.c
> +
> +TESTS_progs += gen3_render_tiledx_blits
> +gen3_render_tiledx_blits_SOURCES = i915/gen3_render_tiledx_blits.c
> +
> +TESTS_progs += gen3_render_tiledy_blits
> +gen3_render_tiledy_blits_SOURCES = i915/gen3_render_tiledy_blits.c
> +
> +TESTS_progs += i915_query
> +i915_query_SOURCES = i915/query.c
> +
> +
> +TESTS_progs_X = gem_concurrent_all
> +gem_concurrent_all_SOURCES = i915/gem_concurrent_all.c
>  
>  kernel_tests = \
>  	$(TESTS_progs) \
> @@ -257,12 +503,21 @@ kernel_tests_full = \
>  
>  # IMPORTANT: These tests here are all disabled because the result in sometime
>  # unrecoverable gpu hangs. Don't put real testcases here.
> -HANG = \
> -	gem_bad_batch \
> -	gem_hang \
> -	gem_bad_blit \
> -	gem_bad_address \
> -	gem_non_secure_batch \
> +HANG = gem_bad_batch
> +gem_bad_batch_SOURCES = i915/gem_bad_batch.c
> +
> +HANG += gem_hang
> +gem_hang_SOURCES = i915/gem_hang.c
> +
> +HANG += gem_bad_blit
> +gem_bad_blit_SOURCES = i915/gem_bad_blit.c
> +
> +HANG += gem_bad_address
> +gem_bad_address_SOURCES = i915/gem_bad_address.c
> +
> +HANG += gem_non_secure_batch
> +gem_non_secure_batch_SOURCES = i915/gem_non_secure_batch.c
> +
>  	$(NULL)
>  
>  scripts = \
> diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
> index 566e851b..c831b079 100644
> --- a/tests/amdgpu/meson.build
> +++ b/tests/amdgpu/meson.build
> @@ -15,5 +15,5 @@ foreach prog : amdgpu_progs
>  				       install_dir : amdgpudir,
>  				       install_rpath : amdgpudir_rpathdir,
>  				       install : true)
> -	test_progs += join_paths('amdgpu', prog)
> +	test_list += join_paths('amdgpu', prog)
>  endforeach
> diff --git a/tests/gem_bad_address.c b/tests/i915/gem_bad_address.c
> similarity index 100%
> rename from tests/gem_bad_address.c
> rename to tests/i915/gem_bad_address.c
> diff --git a/tests/gem_bad_batch.c b/tests/i915/gem_bad_batch.c
> similarity index 100%
> rename from tests/gem_bad_batch.c
> rename to tests/i915/gem_bad_batch.c
> diff --git a/tests/gem_bad_blit.c b/tests/i915/gem_bad_blit.c
> similarity index 100%
> rename from tests/gem_bad_blit.c
> rename to tests/i915/gem_bad_blit.c
> diff --git a/tests/gem_bad_reloc.c b/tests/i915/gem_bad_reloc.c
> similarity index 100%
> rename from tests/gem_bad_reloc.c
> rename to tests/i915/gem_bad_reloc.c
> diff --git a/tests/gem_basic.c b/tests/i915/gem_basic.c
> similarity index 100%
> rename from tests/gem_basic.c
> rename to tests/i915/gem_basic.c
> diff --git a/tests/gem_busy.c b/tests/i915/gem_busy.c
> similarity index 100%
> rename from tests/gem_busy.c
> rename to tests/i915/gem_busy.c
> diff --git a/tests/gem_caching.c b/tests/i915/gem_caching.c
> similarity index 100%
> rename from tests/gem_caching.c
> rename to tests/i915/gem_caching.c
> diff --git a/tests/gem_close.c b/tests/i915/gem_close.c
> similarity index 100%
> rename from tests/gem_close.c
> rename to tests/i915/gem_close.c
> diff --git a/tests/gem_close_race.c b/tests/i915/gem_close_race.c
> similarity index 100%
> rename from tests/gem_close_race.c
> rename to tests/i915/gem_close_race.c
> diff --git a/tests/gem_concurrent_all.c b/tests/i915/gem_concurrent_all.c
> similarity index 100%
> rename from tests/gem_concurrent_all.c
> rename to tests/i915/gem_concurrent_all.c
> diff --git a/tests/gem_concurrent_blit.c b/tests/i915/gem_concurrent_blit.c
> similarity index 100%
> rename from tests/gem_concurrent_blit.c
> rename to tests/i915/gem_concurrent_blit.c
> diff --git a/tests/gem_cpu_reloc.c b/tests/i915/gem_cpu_reloc.c
> similarity index 100%
> rename from tests/gem_cpu_reloc.c
> rename to tests/i915/gem_cpu_reloc.c
> diff --git a/tests/gem_create.c b/tests/i915/gem_create.c
> similarity index 100%
> rename from tests/gem_create.c
> rename to tests/i915/gem_create.c
> diff --git a/tests/gem_cs_prefetch.c b/tests/i915/gem_cs_prefetch.c
> similarity index 100%
> rename from tests/gem_cs_prefetch.c
> rename to tests/i915/gem_cs_prefetch.c
> diff --git a/tests/gem_cs_tlb.c b/tests/i915/gem_cs_tlb.c
> similarity index 100%
> rename from tests/gem_cs_tlb.c
> rename to tests/i915/gem_cs_tlb.c
> diff --git a/tests/gem_ctx_bad_destroy.c b/tests/i915/gem_ctx_bad_destroy.c
> similarity index 100%
> rename from tests/gem_ctx_bad_destroy.c
> rename to tests/i915/gem_ctx_bad_destroy.c
> diff --git a/tests/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
> similarity index 100%
> rename from tests/gem_ctx_create.c
> rename to tests/i915/gem_ctx_create.c
> diff --git a/tests/gem_ctx_exec.c b/tests/i915/gem_ctx_exec.c
> similarity index 100%
> rename from tests/gem_ctx_exec.c
> rename to tests/i915/gem_ctx_exec.c
> diff --git a/tests/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> similarity index 100%
> rename from tests/gem_ctx_isolation.c
> rename to tests/i915/gem_ctx_isolation.c
> diff --git a/tests/gem_ctx_param.c b/tests/i915/gem_ctx_param.c
> similarity index 100%
> rename from tests/gem_ctx_param.c
> rename to tests/i915/gem_ctx_param.c
> diff --git a/tests/gem_ctx_switch.c b/tests/i915/gem_ctx_switch.c
> similarity index 100%
> rename from tests/gem_ctx_switch.c
> rename to tests/i915/gem_ctx_switch.c
> diff --git a/tests/gem_ctx_thrash.c b/tests/i915/gem_ctx_thrash.c
> similarity index 100%
> rename from tests/gem_ctx_thrash.c
> rename to tests/i915/gem_ctx_thrash.c
> diff --git a/tests/gem_double_irq_loop.c b/tests/i915/gem_double_irq_loop.c
> similarity index 100%
> rename from tests/gem_double_irq_loop.c
> rename to tests/i915/gem_double_irq_loop.c
> diff --git a/tests/gem_eio.c b/tests/i915/gem_eio.c
> similarity index 100%
> rename from tests/gem_eio.c
> rename to tests/i915/gem_eio.c
> diff --git a/tests/gem_evict_alignment.c b/tests/i915/gem_evict_alignment.c
> similarity index 100%
> rename from tests/gem_evict_alignment.c
> rename to tests/i915/gem_evict_alignment.c
> diff --git a/tests/gem_evict_everything.c b/tests/i915/gem_evict_everything.c
> similarity index 100%
> rename from tests/gem_evict_everything.c
> rename to tests/i915/gem_evict_everything.c
> diff --git a/tests/gem_exec_alignment.c b/tests/i915/gem_exec_alignment.c
> similarity index 100%
> rename from tests/gem_exec_alignment.c
> rename to tests/i915/gem_exec_alignment.c
> diff --git a/tests/gem_exec_async.c b/tests/i915/gem_exec_async.c
> similarity index 100%
> rename from tests/gem_exec_async.c
> rename to tests/i915/gem_exec_async.c
> diff --git a/tests/gem_exec_await.c b/tests/i915/gem_exec_await.c
> similarity index 100%
> rename from tests/gem_exec_await.c
> rename to tests/i915/gem_exec_await.c
> diff --git a/tests/gem_exec_bad_domains.c b/tests/i915/gem_exec_bad_domains.c
> similarity index 100%
> rename from tests/gem_exec_bad_domains.c
> rename to tests/i915/gem_exec_bad_domains.c
> diff --git a/tests/gem_exec_basic.c b/tests/i915/gem_exec_basic.c
> similarity index 100%
> rename from tests/gem_exec_basic.c
> rename to tests/i915/gem_exec_basic.c
> diff --git a/tests/gem_exec_big.c b/tests/i915/gem_exec_big.c
> similarity index 100%
> rename from tests/gem_exec_big.c
> rename to tests/i915/gem_exec_big.c
> diff --git a/tests/gem_exec_blt.c b/tests/i915/gem_exec_blt.c
> similarity index 100%
> rename from tests/gem_exec_blt.c
> rename to tests/i915/gem_exec_blt.c
> diff --git a/tests/gem_exec_capture.c b/tests/i915/gem_exec_capture.c
> similarity index 100%
> rename from tests/gem_exec_capture.c
> rename to tests/i915/gem_exec_capture.c
> diff --git a/tests/gem_exec_create.c b/tests/i915/gem_exec_create.c
> similarity index 100%
> rename from tests/gem_exec_create.c
> rename to tests/i915/gem_exec_create.c
> diff --git a/tests/gem_exec_faulting_reloc.c b/tests/i915/gem_exec_faulting_reloc.c
> similarity index 100%
> rename from tests/gem_exec_faulting_reloc.c
> rename to tests/i915/gem_exec_faulting_reloc.c
> diff --git a/tests/gem_exec_fence.c b/tests/i915/gem_exec_fence.c
> similarity index 100%
> rename from tests/gem_exec_fence.c
> rename to tests/i915/gem_exec_fence.c
> diff --git a/tests/gem_exec_flush.c b/tests/i915/gem_exec_flush.c
> similarity index 100%
> rename from tests/gem_exec_flush.c
> rename to tests/i915/gem_exec_flush.c
> diff --git a/tests/gem_exec_gttfill.c b/tests/i915/gem_exec_gttfill.c
> similarity index 100%
> rename from tests/gem_exec_gttfill.c
> rename to tests/i915/gem_exec_gttfill.c
> diff --git a/tests/gem_exec_latency.c b/tests/i915/gem_exec_latency.c
> similarity index 100%
> rename from tests/gem_exec_latency.c
> rename to tests/i915/gem_exec_latency.c
> diff --git a/tests/gem_exec_lut_handle.c b/tests/i915/gem_exec_lut_handle.c
> similarity index 100%
> rename from tests/gem_exec_lut_handle.c
> rename to tests/i915/gem_exec_lut_handle.c
> diff --git a/tests/gem_exec_nop.c b/tests/i915/gem_exec_nop.c
> similarity index 100%
> rename from tests/gem_exec_nop.c
> rename to tests/i915/gem_exec_nop.c
> diff --git a/tests/gem_exec_parallel.c b/tests/i915/gem_exec_parallel.c
> similarity index 100%
> rename from tests/gem_exec_parallel.c
> rename to tests/i915/gem_exec_parallel.c
> diff --git a/tests/gem_exec_params.c b/tests/i915/gem_exec_params.c
> similarity index 100%
> rename from tests/gem_exec_params.c
> rename to tests/i915/gem_exec_params.c
> diff --git a/tests/gem_exec_parse.c b/tests/i915/gem_exec_parse.c
> similarity index 100%
> rename from tests/gem_exec_parse.c
> rename to tests/i915/gem_exec_parse.c
> diff --git a/tests/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c
> similarity index 100%
> rename from tests/gem_exec_reloc.c
> rename to tests/i915/gem_exec_reloc.c
> diff --git a/tests/gem_exec_reuse.c b/tests/i915/gem_exec_reuse.c
> similarity index 100%
> rename from tests/gem_exec_reuse.c
> rename to tests/i915/gem_exec_reuse.c
> diff --git a/tests/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
> similarity index 100%
> rename from tests/gem_exec_schedule.c
> rename to tests/i915/gem_exec_schedule.c
> diff --git a/tests/gem_exec_store.c b/tests/i915/gem_exec_store.c
> similarity index 100%
> rename from tests/gem_exec_store.c
> rename to tests/i915/gem_exec_store.c
> diff --git a/tests/gem_exec_suspend.c b/tests/i915/gem_exec_suspend.c
> similarity index 100%
> rename from tests/gem_exec_suspend.c
> rename to tests/i915/gem_exec_suspend.c
> diff --git a/tests/gem_exec_whisper.c b/tests/i915/gem_exec_whisper.c
> similarity index 100%
> rename from tests/gem_exec_whisper.c
> rename to tests/i915/gem_exec_whisper.c
> diff --git a/tests/gem_fd_exhaustion.c b/tests/i915/gem_fd_exhaustion.c
> similarity index 100%
> rename from tests/gem_fd_exhaustion.c
> rename to tests/i915/gem_fd_exhaustion.c
> diff --git a/tests/gem_fence_thrash.c b/tests/i915/gem_fence_thrash.c
> similarity index 100%
> rename from tests/gem_fence_thrash.c
> rename to tests/i915/gem_fence_thrash.c
> diff --git a/tests/gem_fence_upload.c b/tests/i915/gem_fence_upload.c
> similarity index 100%
> rename from tests/gem_fence_upload.c
> rename to tests/i915/gem_fence_upload.c
> diff --git a/tests/gem_fenced_exec_thrash.c b/tests/i915/gem_fenced_exec_thrash.c
> similarity index 100%
> rename from tests/gem_fenced_exec_thrash.c
> rename to tests/i915/gem_fenced_exec_thrash.c
> diff --git a/tests/gem_flink_basic.c b/tests/i915/gem_flink_basic.c
> similarity index 100%
> rename from tests/gem_flink_basic.c
> rename to tests/i915/gem_flink_basic.c
> diff --git a/tests/gem_flink_race.c b/tests/i915/gem_flink_race.c
> similarity index 100%
> rename from tests/gem_flink_race.c
> rename to tests/i915/gem_flink_race.c
> diff --git a/tests/gem_gpgpu_fill.c b/tests/i915/gem_gpgpu_fill.c
> similarity index 100%
> rename from tests/gem_gpgpu_fill.c
> rename to tests/i915/gem_gpgpu_fill.c
> diff --git a/tests/gem_gtt_cpu_tlb.c b/tests/i915/gem_gtt_cpu_tlb.c
> similarity index 100%
> rename from tests/gem_gtt_cpu_tlb.c
> rename to tests/i915/gem_gtt_cpu_tlb.c
> diff --git a/tests/gem_gtt_hog.c b/tests/i915/gem_gtt_hog.c
> similarity index 100%
> rename from tests/gem_gtt_hog.c
> rename to tests/i915/gem_gtt_hog.c
> diff --git a/tests/gem_gtt_speed.c b/tests/i915/gem_gtt_speed.c
> similarity index 100%
> rename from tests/gem_gtt_speed.c
> rename to tests/i915/gem_gtt_speed.c
> diff --git a/tests/gem_hang.c b/tests/i915/gem_hang.c
> similarity index 100%
> rename from tests/gem_hang.c
> rename to tests/i915/gem_hang.c
> diff --git a/tests/gem_largeobject.c b/tests/i915/gem_largeobject.c
> similarity index 100%
> rename from tests/gem_largeobject.c
> rename to tests/i915/gem_largeobject.c
> diff --git a/tests/gem_linear_blits.c b/tests/i915/gem_linear_blits.c
> similarity index 100%
> rename from tests/gem_linear_blits.c
> rename to tests/i915/gem_linear_blits.c
> diff --git a/tests/gem_lut_handle.c b/tests/i915/gem_lut_handle.c
> similarity index 100%
> rename from tests/gem_lut_handle.c
> rename to tests/i915/gem_lut_handle.c
> diff --git a/tests/gem_madvise.c b/tests/i915/gem_madvise.c
> similarity index 100%
> rename from tests/gem_madvise.c
> rename to tests/i915/gem_madvise.c
> diff --git a/tests/gem_media_fill.c b/tests/i915/gem_media_fill.c
> similarity index 100%
> rename from tests/gem_media_fill.c
> rename to tests/i915/gem_media_fill.c
> diff --git a/tests/gem_mmap.c b/tests/i915/gem_mmap.c
> similarity index 100%
> rename from tests/gem_mmap.c
> rename to tests/i915/gem_mmap.c
> diff --git a/tests/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c
> similarity index 100%
> rename from tests/gem_mmap_gtt.c
> rename to tests/i915/gem_mmap_gtt.c
> diff --git a/tests/gem_mmap_offset_exhaustion.c b/tests/i915/gem_mmap_offset_exhaustion.c
> similarity index 100%
> rename from tests/gem_mmap_offset_exhaustion.c
> rename to tests/i915/gem_mmap_offset_exhaustion.c
> diff --git a/tests/gem_mmap_wc.c b/tests/i915/gem_mmap_wc.c
> similarity index 100%
> rename from tests/gem_mmap_wc.c
> rename to tests/i915/gem_mmap_wc.c
> diff --git a/tests/gem_mocs_settings.c b/tests/i915/gem_mocs_settings.c
> similarity index 100%
> rename from tests/gem_mocs_settings.c
> rename to tests/i915/gem_mocs_settings.c
> diff --git a/tests/gem_non_secure_batch.c b/tests/i915/gem_non_secure_batch.c
> similarity index 100%
> rename from tests/gem_non_secure_batch.c
> rename to tests/i915/gem_non_secure_batch.c
> diff --git a/tests/gem_partial_pwrite_pread.c b/tests/i915/gem_partial_pwrite_pread.c
> similarity index 100%
> rename from tests/gem_partial_pwrite_pread.c
> rename to tests/i915/gem_partial_pwrite_pread.c
> diff --git a/tests/gem_persistent_relocs.c b/tests/i915/gem_persistent_relocs.c
> similarity index 100%
> rename from tests/gem_persistent_relocs.c
> rename to tests/i915/gem_persistent_relocs.c
> diff --git a/tests/gem_pipe_control_store_loop.c b/tests/i915/gem_pipe_control_store_loop.c
> similarity index 100%
> rename from tests/gem_pipe_control_store_loop.c
> rename to tests/i915/gem_pipe_control_store_loop.c
> diff --git a/tests/gem_ppgtt.c b/tests/i915/gem_ppgtt.c
> similarity index 100%
> rename from tests/gem_ppgtt.c
> rename to tests/i915/gem_ppgtt.c
> diff --git a/tests/gem_pread.c b/tests/i915/gem_pread.c
> similarity index 100%
> rename from tests/gem_pread.c
> rename to tests/i915/gem_pread.c
> diff --git a/tests/gem_pread_after_blit.c b/tests/i915/gem_pread_after_blit.c
> similarity index 100%
> rename from tests/gem_pread_after_blit.c
> rename to tests/i915/gem_pread_after_blit.c
> diff --git a/tests/gem_pwrite.c b/tests/i915/gem_pwrite.c
> similarity index 100%
> rename from tests/gem_pwrite.c
> rename to tests/i915/gem_pwrite.c
> diff --git a/tests/gem_pwrite_pread.c b/tests/i915/gem_pwrite_pread.c
> similarity index 100%
> rename from tests/gem_pwrite_pread.c
> rename to tests/i915/gem_pwrite_pread.c
> diff --git a/tests/gem_pwrite_snooped.c b/tests/i915/gem_pwrite_snooped.c
> similarity index 100%
> rename from tests/gem_pwrite_snooped.c
> rename to tests/i915/gem_pwrite_snooped.c
> diff --git a/tests/gem_read_read_speed.c b/tests/i915/gem_read_read_speed.c
> similarity index 100%
> rename from tests/gem_read_read_speed.c
> rename to tests/i915/gem_read_read_speed.c
> diff --git a/tests/gem_readwrite.c b/tests/i915/gem_readwrite.c
> similarity index 100%
> rename from tests/gem_readwrite.c
> rename to tests/i915/gem_readwrite.c
> diff --git a/tests/gem_reg_read.c b/tests/i915/gem_reg_read.c
> similarity index 100%
> rename from tests/gem_reg_read.c
> rename to tests/i915/gem_reg_read.c
> diff --git a/tests/gem_reloc_overflow.c b/tests/i915/gem_reloc_overflow.c
> similarity index 100%
> rename from tests/gem_reloc_overflow.c
> rename to tests/i915/gem_reloc_overflow.c
> diff --git a/tests/gem_reloc_vs_gpu.c b/tests/i915/gem_reloc_vs_gpu.c
> similarity index 100%
> rename from tests/gem_reloc_vs_gpu.c
> rename to tests/i915/gem_reloc_vs_gpu.c
> diff --git a/tests/gem_render_copy.c b/tests/i915/gem_render_copy.c
> similarity index 100%
> rename from tests/gem_render_copy.c
> rename to tests/i915/gem_render_copy.c
> diff --git a/tests/gem_render_copy_redux.c b/tests/i915/gem_render_copy_redux.c
> similarity index 100%
> rename from tests/gem_render_copy_redux.c
> rename to tests/i915/gem_render_copy_redux.c
> diff --git a/tests/gem_render_linear_blits.c b/tests/i915/gem_render_linear_blits.c
> similarity index 100%
> rename from tests/gem_render_linear_blits.c
> rename to tests/i915/gem_render_linear_blits.c
> diff --git a/tests/gem_render_tiled_blits.c b/tests/i915/gem_render_tiled_blits.c
> similarity index 100%
> rename from tests/gem_render_tiled_blits.c
> rename to tests/i915/gem_render_tiled_blits.c
> diff --git a/tests/gem_request_retire.c b/tests/i915/gem_request_retire.c
> similarity index 100%
> rename from tests/gem_request_retire.c
> rename to tests/i915/gem_request_retire.c
> diff --git a/tests/gem_reset_stats.c b/tests/i915/gem_reset_stats.c
> similarity index 100%
> rename from tests/gem_reset_stats.c
> rename to tests/i915/gem_reset_stats.c
> diff --git a/tests/gem_ring_sync_copy.c b/tests/i915/gem_ring_sync_copy.c
> similarity index 100%
> rename from tests/gem_ring_sync_copy.c
> rename to tests/i915/gem_ring_sync_copy.c
> diff --git a/tests/gem_ring_sync_loop.c b/tests/i915/gem_ring_sync_loop.c
> similarity index 100%
> rename from tests/gem_ring_sync_loop.c
> rename to tests/i915/gem_ring_sync_loop.c
> diff --git a/tests/gem_ringfill.c b/tests/i915/gem_ringfill.c
> similarity index 100%
> rename from tests/gem_ringfill.c
> rename to tests/i915/gem_ringfill.c
> diff --git a/tests/gem_set_tiling_vs_blt.c b/tests/i915/gem_set_tiling_vs_blt.c
> similarity index 100%
> rename from tests/gem_set_tiling_vs_blt.c
> rename to tests/i915/gem_set_tiling_vs_blt.c
> diff --git a/tests/gem_set_tiling_vs_gtt.c b/tests/i915/gem_set_tiling_vs_gtt.c
> similarity index 100%
> rename from tests/gem_set_tiling_vs_gtt.c
> rename to tests/i915/gem_set_tiling_vs_gtt.c
> diff --git a/tests/gem_set_tiling_vs_pwrite.c b/tests/i915/gem_set_tiling_vs_pwrite.c
> similarity index 100%
> rename from tests/gem_set_tiling_vs_pwrite.c
> rename to tests/i915/gem_set_tiling_vs_pwrite.c
> diff --git a/tests/gem_shrink.c b/tests/i915/gem_shrink.c
> similarity index 100%
> rename from tests/gem_shrink.c
> rename to tests/i915/gem_shrink.c
> diff --git a/tests/gem_softpin.c b/tests/i915/gem_softpin.c
> similarity index 100%
> rename from tests/gem_softpin.c
> rename to tests/i915/gem_softpin.c
> diff --git a/tests/gem_spin_batch.c b/tests/i915/gem_spin_batch.c
> similarity index 100%
> rename from tests/gem_spin_batch.c
> rename to tests/i915/gem_spin_batch.c
> diff --git a/tests/gem_stolen.c b/tests/i915/gem_stolen.c
> similarity index 100%
> rename from tests/gem_stolen.c
> rename to tests/i915/gem_stolen.c
> diff --git a/tests/gem_storedw_batches_loop.c b/tests/i915/gem_storedw_batches_loop.c
> similarity index 100%
> rename from tests/gem_storedw_batches_loop.c
> rename to tests/i915/gem_storedw_batches_loop.c
> diff --git a/tests/gem_storedw_loop.c b/tests/i915/gem_storedw_loop.c
> similarity index 100%
> rename from tests/gem_storedw_loop.c
> rename to tests/i915/gem_storedw_loop.c
> diff --git a/tests/gem_streaming_writes.c b/tests/i915/gem_streaming_writes.c
> similarity index 100%
> rename from tests/gem_streaming_writes.c
> rename to tests/i915/gem_streaming_writes.c
> diff --git a/tests/gem_stress.c b/tests/i915/gem_stress.c
> similarity index 100%
> rename from tests/gem_stress.c
> rename to tests/i915/gem_stress.c
> diff --git a/tests/gem_sync.c b/tests/i915/gem_sync.c
> similarity index 100%
> rename from tests/gem_sync.c
> rename to tests/i915/gem_sync.c
> diff --git a/tests/gem_threaded_access_tiled.c b/tests/i915/gem_threaded_access_tiled.c
> similarity index 100%
> rename from tests/gem_threaded_access_tiled.c
> rename to tests/i915/gem_threaded_access_tiled.c
> diff --git a/tests/gem_tiled_blits.c b/tests/i915/gem_tiled_blits.c
> similarity index 100%
> rename from tests/gem_tiled_blits.c
> rename to tests/i915/gem_tiled_blits.c
> diff --git a/tests/gem_tiled_fence_blits.c b/tests/i915/gem_tiled_fence_blits.c
> similarity index 100%
> rename from tests/gem_tiled_fence_blits.c
> rename to tests/i915/gem_tiled_fence_blits.c
> diff --git a/tests/gem_tiled_partial_pwrite_pread.c b/tests/i915/gem_tiled_partial_pwrite_pread.c
> similarity index 100%
> rename from tests/gem_tiled_partial_pwrite_pread.c
> rename to tests/i915/gem_tiled_partial_pwrite_pread.c
> diff --git a/tests/gem_tiled_pread_basic.c b/tests/i915/gem_tiled_pread_basic.c
> similarity index 100%
> rename from tests/gem_tiled_pread_basic.c
> rename to tests/i915/gem_tiled_pread_basic.c
> diff --git a/tests/gem_tiled_pread_pwrite.c b/tests/i915/gem_tiled_pread_pwrite.c
> similarity index 100%
> rename from tests/gem_tiled_pread_pwrite.c
> rename to tests/i915/gem_tiled_pread_pwrite.c
> diff --git a/tests/gem_tiled_swapping.c b/tests/i915/gem_tiled_swapping.c
> similarity index 100%
> rename from tests/gem_tiled_swapping.c
> rename to tests/i915/gem_tiled_swapping.c
> diff --git a/tests/gem_tiled_wb.c b/tests/i915/gem_tiled_wb.c
> similarity index 100%
> rename from tests/gem_tiled_wb.c
> rename to tests/i915/gem_tiled_wb.c
> diff --git a/tests/gem_tiled_wc.c b/tests/i915/gem_tiled_wc.c
> similarity index 100%
> rename from tests/gem_tiled_wc.c
> rename to tests/i915/gem_tiled_wc.c
> diff --git a/tests/gem_tiling_max_stride.c b/tests/i915/gem_tiling_max_stride.c
> similarity index 100%
> rename from tests/gem_tiling_max_stride.c
> rename to tests/i915/gem_tiling_max_stride.c
> diff --git a/tests/gem_unfence_active_buffers.c b/tests/i915/gem_unfence_active_buffers.c
> similarity index 100%
> rename from tests/gem_unfence_active_buffers.c
> rename to tests/i915/gem_unfence_active_buffers.c
> diff --git a/tests/gem_unref_active_buffers.c b/tests/i915/gem_unref_active_buffers.c
> similarity index 100%
> rename from tests/gem_unref_active_buffers.c
> rename to tests/i915/gem_unref_active_buffers.c
> diff --git a/tests/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
> similarity index 100%
> rename from tests/gem_userptr_blits.c
> rename to tests/i915/gem_userptr_blits.c
> diff --git a/tests/gem_wait.c b/tests/i915/gem_wait.c
> similarity index 100%
> rename from tests/gem_wait.c
> rename to tests/i915/gem_wait.c
> diff --git a/tests/gem_workarounds.c b/tests/i915/gem_workarounds.c
> similarity index 100%
> rename from tests/gem_workarounds.c
> rename to tests/i915/gem_workarounds.c
> diff --git a/tests/gem_write_read_ring_switch.c b/tests/i915/gem_write_read_ring_switch.c
> similarity index 100%
> rename from tests/gem_write_read_ring_switch.c
> rename to tests/i915/gem_write_read_ring_switch.c
> diff --git a/tests/gen3_mixed_blits.c b/tests/i915/gen3_mixed_blits.c
> similarity index 100%
> rename from tests/gen3_mixed_blits.c
> rename to tests/i915/gen3_mixed_blits.c
> diff --git a/tests/gen3_render_linear_blits.c b/tests/i915/gen3_render_linear_blits.c
> similarity index 100%
> rename from tests/gen3_render_linear_blits.c
> rename to tests/i915/gen3_render_linear_blits.c
> diff --git a/tests/gen3_render_mixed_blits.c b/tests/i915/gen3_render_mixed_blits.c
> similarity index 100%
> rename from tests/gen3_render_mixed_blits.c
> rename to tests/i915/gen3_render_mixed_blits.c
> diff --git a/tests/gen3_render_tiledx_blits.c b/tests/i915/gen3_render_tiledx_blits.c
> similarity index 100%
> rename from tests/gen3_render_tiledx_blits.c
> rename to tests/i915/gen3_render_tiledx_blits.c
> diff --git a/tests/gen3_render_tiledy_blits.c b/tests/i915/gen3_render_tiledy_blits.c
> similarity index 100%
> rename from tests/gen3_render_tiledy_blits.c
> rename to tests/i915/gen3_render_tiledy_blits.c
> diff --git a/tests/i915_query.c b/tests/i915/query.c
> similarity index 100%
> rename from tests/i915_query.c
> rename to tests/i915/query.c
> diff --git a/tests/meson.build b/tests/meson.build
> index d74eb109..e148ad93 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -16,6 +16,89 @@ test_progs = [
>  	'drv_module_reload',
>  	'drv_selftest',
>  	'drv_suspend',
> +	'kms_3d',
> +	'kms_addfb_basic',
> +	'kms_atomic',
> +	'kms_atomic_interruptible',
> +	'kms_atomic_transition',
> +	'kms_available_modes_crc',
> +	'kms_busy',
> +	'kms_ccs',
> +	'kms_chv_cursor_fail',
> +	'kms_color',
> +	'kms_concurrent',
> +	'kms_crtc_background_color',
> +	'kms_cursor_crc',
> +	'kms_cursor_legacy',
> +	'kms_draw_crc',
> +	'kms_fbcon_fbt',
> +	'kms_fence_pin_leak',
> +	'kms_flip',
> +	'kms_flip_event_leak',
> +	'kms_flip_tiling',
> +	'kms_force_connector_basic',
> +	'kms_frontbuffer_tracking',
> +	'kms_getfb',
> +	'kms_hdmi_inject',
> +	'kms_invalid_dotclock',
> +	'kms_legacy_colorkey',
> +	'kms_mmap_write_crc',
> +	'kms_panel_fitting',
> +	'kms_pipe_b_c_ivb',
> +	'kms_pipe_crc_basic',
> +	'kms_plane',
> +	'kms_plane_alpha_blend',
> +	'kms_plane_lowres',
> +	'kms_plane_multiple',
> +	'kms_plane_scaling',
> +	'kms_properties',
> +	'kms_psr',
> +	'kms_pwrite_crc',
> +	'kms_rmfb',
> +	'kms_rotation_crc',
> +	'kms_selftest',
> +	'kms_setmode',
> +	'kms_sysfs_edid_timing',
> +	'kms_tv_load_detect',
> +	'kms_universal_plane',
> +	'kms_vblank',
> +	'meta_test',
> +	'perf',
> +	'pm_backlight',
> +	'pm_lpsp',
> +	'pm_rc6_residency',
> +	'pm_rpm',
> +	'pm_rps',
> +	'pm_sseu',
> +	'prime_busy',
> +	'prime_mmap',
> +	'prime_mmap_coherency',
> +	'prime_mmap_kms',
> +	'prime_self_import',
> +	'prime_udl',
> +	'prime_vgem',
> +	'sw_sync',
> +	'syncobj_basic',
> +	'syncobj_wait',
> +	'template',
> +	'tools_test',
> +	'vc4_create_bo',
> +	'vc4_dmabuf_poll',
> +	'vc4_label_bo',
> +	'vc4_lookup_fail',
> +	'vc4_purgeable_bo',
> +	'vc4_tiling',
> +	'vc4_wait_bo',
> +	'vc4_wait_seqno',
> +	'vgem_basic',
> +	'vgem_slow',
> +]
> +
> +i915_progs = [
> +	'query',
> +]
> +
> +gem_progs = [
>  	'gem_bad_reloc',
>  	'gem_basic',
>  	'gem_busy',
> @@ -131,88 +214,14 @@ test_progs = [
>  	'gem_wait',
>  	'gem_workarounds',
>  	'gem_write_read_ring_switch',
> +]
> +
> +gen3_progs = [
>  	'gen3_mixed_blits',
>  	'gen3_render_linear_blits',
>  	'gen3_render_mixed_blits',
>  	'gen3_render_tiledx_blits',
>  	'gen3_render_tiledy_blits',
> -	'i915_query',
> -	'kms_3d',
> -	'kms_addfb_basic',
> -	'kms_atomic',
> -	'kms_atomic_interruptible',
> -	'kms_atomic_transition',
> -	'kms_available_modes_crc',
> -	'kms_busy',
> -	'kms_ccs',
> -	'kms_chv_cursor_fail',
> -	'kms_color',
> -	'kms_concurrent',
> -	'kms_crtc_background_color',
> -	'kms_cursor_crc',
> -	'kms_cursor_legacy',
> -	'kms_draw_crc',
> -	'kms_fbcon_fbt',
> -	'kms_fence_pin_leak',
> -	'kms_flip',
> -	'kms_flip_event_leak',
> -	'kms_flip_tiling',
> -	'kms_force_connector_basic',
> -	'kms_frontbuffer_tracking',
> -	'kms_getfb',
> -	'kms_hdmi_inject',
> -	'kms_invalid_dotclock',
> -	'kms_legacy_colorkey',
> -	'kms_mmap_write_crc',
> -	'kms_panel_fitting',
> -	'kms_pipe_b_c_ivb',
> -	'kms_pipe_crc_basic',
> -	'kms_plane',
> -	'kms_plane_alpha_blend',
> -	'kms_plane_lowres',
> -	'kms_plane_multiple',
> -	'kms_plane_scaling',
> -	'kms_properties',
> -	'kms_psr',
> -	'kms_pwrite_crc',
> -	'kms_rmfb',
> -	'kms_rotation_crc',
> -	'kms_selftest',
> -	'kms_setmode',
> -	'kms_sysfs_edid_timing',
> -	'kms_tv_load_detect',
> -	'kms_universal_plane',
> -	'kms_vblank',
> -	'meta_test',
> -	'perf',
> -	'pm_backlight',
> -	'pm_lpsp',
> -	'pm_rc6_residency',
> -	'pm_rpm',
> -	'pm_rps',
> -	'pm_sseu',
> -	'prime_busy',
> -	'prime_mmap',
> -	'prime_mmap_coherency',
> -	'prime_mmap_kms',
> -	'prime_self_import',
> -	'prime_udl',
> -	'prime_vgem',
> -	'sw_sync',
> -	'syncobj_basic',
> -	'syncobj_wait',
> -	'template',
> -	'tools_test',
> -	'vc4_create_bo',
> -	'vc4_dmabuf_poll',
> -	'vc4_label_bo',
> -	'vc4_lookup_fail',
> -	'vc4_purgeable_bo',
> -	'vc4_tiling',
> -	'vc4_wait_bo',
> -	'vc4_wait_seqno',
> -	'vgem_basic',
> -	'vgem_slow',
>  ]
>  
>  test_deps = [ igt_deps ]
> @@ -241,6 +250,7 @@ if _build_audio and alsa.found() and gsl.found()
>  endif
>  
>  test_executables = []
> +test_list = []
>  
>  foreach prog : test_progs
>  	test_executables += executable(prog, prog + '.c',
> @@ -248,52 +258,75 @@ foreach prog : test_progs
>  		   install_dir : libexecdir,
>  		   install_rpath : libexecdir_rpathdir,
>  		   install : true)
> +	test_list += prog
>  endforeach
>  
> -test_executables += executable('gem_eio', 'gem_eio.c',
> +foreach prog : i915_progs
> +	prog_name = 'i915_' + prog
> +	test_executables += executable(prog_name,
> +		   join_paths('i915', prog + '.c'),
> +		   dependencies : test_deps,
> +		   install_dir : libexecdir,
> +		   install_rpath : libexecdir_rpathdir,
> +		   install : true)
> +	test_list += prog_name
> +endforeach
> +
> +foreach prog : gem_progs + gen3_progs
> +	test_executables += executable(prog,
> +		   join_paths('i915', prog + '.c'),
> +		   dependencies : test_deps,
> +		   install_dir : libexecdir,
> +		   install_rpath : libexecdir_rpathdir,
> +		   install : true)
> +	test_list += prog
> +endforeach
> +
> +test_executables += executable('gem_eio',
> +	   join_paths('i915', 'gem_eio.c'),
>  	   dependencies : test_deps + [ realtime ],
>  	   install_dir : libexecdir,
>  	   install_rpath : libexecdir_rpathdir,
>  	   install : true)
> -test_progs += 'gem_eio'
> +test_list += 'gem_eio'
>  
> -test_executables += executable('gem_mocs_settings', 'gem_mocs_settings.c',
> +test_executables += executable('gem_mocs_settings',
> +	   join_paths('i915', 'gem_mocs_settings.c'),
>  	   dependencies : test_deps + [ lib_igt_perf ],
>  	   install_dir : libexecdir,
>  	   install_rpath : libexecdir_rpathdir,
>  	   install : true)
> -test_progs += 'gem_mocs_settings'
> +test_list += 'gem_mocs_settings'
>  
>  test_executables += executable('perf_pmu', 'perf_pmu.c',
>  	   dependencies : test_deps + [ lib_igt_perf ],
>  	   install_dir : libexecdir,
>  	   install_rpath : libexecdir_rpathdir,
>  	   install : true)
> -test_progs += 'perf_pmu'
> +test_list += 'perf_pmu'
>  
>  executable('testdisplay', ['testdisplay.c', 'testdisplay_hotplug.c'],
>  	   dependencies : test_deps,
>  	   install_dir : libexecdir,
>  	   install_rpath : libexecdir_rpathdir,
>  	   install : true)
> -test_progs += 'testdisplay'
> +test_list += 'testdisplay'
>  
>  subdir('amdgpu')
>  
>  gen_testlist = find_program('generate_testlist.sh')
> -test_list = custom_target('testlist',
> +custom_target('testlist',
>  	      output : 'test-list.txt',
> -	      command : [ gen_testlist, '@OUTPUT@', test_progs ],
> +	      command : [ gen_testlist, '@OUTPUT@', test_list ],
>  	      install : true,
>  	      install_dir : libexecdir)
>  
>  test_script = find_program('igt_command_line.sh')
> -foreach prog : test_progs
> -	test('testcase check: ' + prog, test_script,
> -			args : prog)
> +foreach prog : test_list
> +	test('testcase check: ' + prog, test_script, args : prog)
>  endforeach
>  
> -executable('gem_stress', 'gem_stress.c',
> +executable('gem_stress', 'i915/gem_stress.c',
>  	   install : true,
>  	   install_dir : libexecdir,
>  	   install_rpath : libexecdir_rpathdir,
> @@ -309,7 +342,7 @@ hang_progs = [
>  	'gem_non_secure_batch',
>  ]
>  foreach prog : hang_progs
> -	executable(prog, prog + '.c',
> +	executable(prog, join_paths('i915', prog + '.c'),
>  			dependencies : igt_deps,
>  			install : false)
>  endforeach
> -- 
> 2.17.2
> 


More information about the igt-dev mailing list