All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory
@ 2018-10-18 12:58 Arkadiusz Hiler
  2018-10-18 13:35 ` Lionel Landwerlin
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Arkadiusz Hiler @ 2018-10-18 12:58 UTC (permalink / raw)
  To: igt-dev; +Cc: Martin Peres, Petri Latvala

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.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 tests/Makefile.am                             |   4 +-
 tests/Makefile.sources                        | 519 +++++++++++++-----
 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                             | 191 ++++---
 133 files changed, 500 insertions(+), 214 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/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..9897823d 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 ]
@@ -250,14 +259,34 @@ foreach prog : test_progs
 		   install : true)
 endforeach
 
-test_executables += executable('gem_eio', 'gem_eio.c',
+foreach prog : i915_progs
+	test_executables += executable('i915_' + prog,
+		   join_paths('i915', prog + '.c'),
+		   dependencies : test_deps,
+		   install_dir : libexecdir,
+		   install_rpath : libexecdir_rpathdir,
+		   install : true)
+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)
+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_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,
@@ -293,7 +322,7 @@ foreach prog : test_progs
 			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 +338,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

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
@ 2018-10-18 13:35 ` Lionel Landwerlin
  2018-10-19  8:11   ` Arkadiusz Hiler
  2018-10-18 13:44 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Lionel Landwerlin @ 2018-10-18 13:35 UTC (permalink / raw)
  To: Arkadiusz Hiler, igt-dev; +Cc: Petri Latvala, Martin Peres

On 18/10/2018 13:58, Arkadiusz Hiler wrote:
>   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                             | 191 ++++---

You can move tests/perf.c too, it's completely i915 specific.


-
Lionel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for tests: Introduce i915 directory
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
  2018-10-18 13:35 ` Lionel Landwerlin
@ 2018-10-18 13:44 ` Patchwork
  2018-10-18 20:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-18 13:44 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: tests: Introduce i915 directory
URL   : https://patchwork.freedesktop.org/series/51181/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4994 -> IGTPW_1963 =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1963 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1963, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51181/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1963:

  === IGT changes ===

    ==== Warnings ====

    igt@kms_chamelium@hdmi-hpd-fast:
      fi-icl-u2:          SKIP -> PASS +3

    
== Known issues ==

  Here are the changes found in IGTPW_1963 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-blb-e6850:       PASS -> INCOMPLETE (fdo#107718)

    igt@kms_flip@basic-flip-vs-modeset:
      fi-skl-6700hq:      PASS -> DMESG-WARN (fdo#105998)

    igt@kms_force_connector_basic@prune-stale-modes:
      fi-ilk-650:         PASS -> DMESG-WARN (fdo#106387)

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
      fi-byt-clapper:     PASS -> FAIL (fdo#107362, fdo#103191)

    
    ==== Possible fixes ====

    igt@gem_exec_suspend@basic-s3:
      fi-cfl-8109u:       INCOMPLETE (fdo#107187, fdo#108126) -> PASS

    igt@gem_exec_suspend@basic-s4-devices:
      fi-kbl-7500u:       DMESG-WARN (fdo#105128, fdo#107139) -> PASS

    igt@kms_frontbuffer_tracking@basic:
      fi-icl-u2:          FAIL (fdo#103167) -> PASS

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
      fi-byt-clapper:     FAIL (fdo#107362) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-byt-clapper:     FAIL (fdo#107362, fdo#103191) -> PASS

    
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128
  fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
  fdo#106387 https://bugs.freedesktop.org/show_bug.cgi?id=106387
  fdo#107139 https://bugs.freedesktop.org/show_bug.cgi?id=107139
  fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126


== Participating hosts (46 -> 38) ==

  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-pnv-d510 fi-kbl-7560u 


== Build changes ==

    * IGT: IGT_4682 -> IGTPW_1963

  CI_DRM_4994: a587d260a1db3d6660c4148a5b3055f525bc7938 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1963: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1963/
  IGT_4682: 0ac43db33e116b546e5704fe0b4dde21f391e09c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+++ 0 lines
--- 59616 lines

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1963/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for tests: Introduce i915 directory
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
  2018-10-18 13:35 ` Lionel Landwerlin
  2018-10-18 13:44 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-10-18 20:24 ` Patchwork
  2018-10-18 21:21 ` [igt-dev] [PATCH i-g-t] " Chris Wilson
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-18 20:24 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: tests: Introduce i915 directory
URL   : https://patchwork.freedesktop.org/series/51181/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4682_full -> IGTPW_1963_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1963_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1963_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51181/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1963_full:

  === IGT changes ===

    ==== Warnings ====

    igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
      shard-snb:          SKIP -> PASS +4

    
== Known issues ==

  Here are the changes found in IGTPW_1963_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-glk:          NOTRUN -> FAIL (fdo#106641)

    igt@kms_busy@extended-modeset-hang-newfb-render-c:
      shard-kbl:          PASS -> DMESG-WARN (fdo#107956)

    igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
      shard-snb:          NOTRUN -> DMESG-WARN (fdo#107956) +2

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
      shard-hsw:          NOTRUN -> DMESG-WARN (fdo#107956) +3

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
      shard-hsw:          PASS -> DMESG-WARN (fdo#107956)

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
      shard-glk:          NOTRUN -> DMESG-WARN (fdo#107956) +4

    igt@kms_color@pipe-a-legacy-gamma-reset:
      shard-apl:          PASS -> DMESG-WARN (fdo#103558, fdo#105602) +14

    igt@kms_cursor_crc@cursor-256x85-onscreen:
      shard-glk:          NOTRUN -> FAIL (fdo#103232) +3

    igt@kms_cursor_crc@cursor-64x21-random:
      shard-apl:          PASS -> FAIL (fdo#103232) +6

    igt@kms_cursor_crc@cursor-64x21-sliding:
      shard-kbl:          PASS -> FAIL (fdo#103232) +4

    igt@kms_cursor_legacy@cursora-vs-flipa-toggle:
      shard-glk:          PASS -> DMESG-WARN (fdo#106538, fdo#105763)

    igt@kms_flip@dpms-vs-vblank-race-interruptible:
      shard-glk:          NOTRUN -> FAIL (fdo#103060)

    igt@kms_flip@modeset-vs-vblank-race-interruptible:
      shard-kbl:          PASS -> FAIL (fdo#103060)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
      shard-apl:          PASS -> FAIL (fdo#103167)
      shard-kbl:          PASS -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
      shard-glk:          PASS -> FAIL (fdo#103167) +3

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
      shard-glk:          NOTRUN -> FAIL (fdo#103167) +3

    igt@kms_plane@plane-position-covered-pipe-a-planes:
      shard-glk:          NOTRUN -> FAIL (fdo#103166)

    igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
      shard-glk:          NOTRUN -> FAIL (fdo#108146)

    igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
      shard-glk:          NOTRUN -> FAIL (fdo#108145) +4

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-glk:          PASS -> FAIL (fdo#103166)

    igt@kms_setmode@basic:
      shard-hsw:          NOTRUN -> FAIL (fdo#99912)
      shard-apl:          PASS -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@kms_color@pipe-a-degamma:
      shard-apl:          FAIL (fdo#104782, fdo#108145) -> PASS

    igt@kms_cursor_crc@cursor-128x128-suspend:
      shard-apl:          FAIL (fdo#103232, fdo#103191) -> PASS +1
      shard-kbl:          FAIL (fdo#103232, fdo#103191) -> PASS

    igt@kms_cursor_crc@cursor-128x42-random:
      shard-apl:          FAIL (fdo#103232) -> PASS +2

    igt@kms_cursor_crc@cursor-256x256-dpms:
      shard-glk:          FAIL (fdo#103232) -> PASS

    igt@kms_cursor_crc@cursor-256x256-onscreen:
      shard-kbl:          FAIL (fdo#103232) -> PASS

    igt@kms_flip@flip-vs-expired-vblank:
      shard-glk:          FAIL (fdo#102887, fdo#105363) -> PASS

    igt@kms_flip@flip-vs-expired-vblank-interruptible:
      shard-kbl:          FAIL (fdo#102887, fdo#105363) -> PASS

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
      shard-apl:          FAIL (fdo#103167) -> PASS +2

    igt@kms_frontbuffer_tracking@fbc-1p-rte:
      shard-apl:          FAIL (fdo#103167, fdo#105682) -> PASS

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
      shard-glk:          FAIL (fdo#103167) -> PASS +1

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-kbl:          FAIL (fdo#103166) -> PASS

    igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
      shard-glk:          FAIL (fdo#103166) -> PASS

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-apl:          DMESG-FAIL (fdo#103558, fdo#103166, fdo#105602) -> PASS +1

    igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
      shard-apl:          FAIL (fdo#103166) -> PASS +2

    igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
      shard-apl:          DMESG-WARN (fdo#103558, fdo#105602) -> PASS +14

    igt@perf_pmu@semaphore-wait-vecs0:
      shard-snb:          INCOMPLETE (fdo#105411) -> SKIP

    
    ==== Warnings ====

    igt@kms_ccs@pipe-b-crc-primary-rotation-180:
      shard-apl:          DMESG-WARN (fdo#103558, fdo#105602) -> DMESG-FAIL (fdo#103558, fdo#105602)

    igt@kms_plane@pixel-format-pipe-b-planes:
      shard-apl:          FAIL (fdo#103166) -> DMESG-FAIL (fdo#103558, fdo#103166, fdo#105602)

    igt@kms_plane@pixel-format-pipe-c-planes:
      shard-apl:          DMESG-FAIL (fdo#103558, fdo#103166, fdo#105602) -> FAIL (fdo#103166)

    
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4682 -> IGTPW_1963
    * Linux: CI_DRM_4990 -> CI_DRM_4994

  CI_DRM_4990: 0bd34d92e9a27784cb988a300619f497ca0e99ec @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4994: a587d260a1db3d6660c4148a5b3055f525bc7938 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1963: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1963/
  IGT_4682: 0ac43db33e116b546e5704fe0b4dde21f391e09c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1963/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
                   ` (2 preceding siblings ...)
  2018-10-18 20:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2018-10-18 21:21 ` Chris Wilson
  2018-10-19  8:48 ` [igt-dev] [PATCH i-g-t v2] " Arkadiusz Hiler
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Chris Wilson @ 2018-10-18 21:21 UTC (permalink / raw)
  To: Arkadiusz Hiler, igt-dev; +Cc: Petri Latvala, Martin Peres

Quoting Arkadiusz Hiler (2018-10-18 13:58:46)
> 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.
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Martin Peres <martin.peres@linux.intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

Looks reasonable, and didn't upset CI
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>

Martin and/or Petri need to double check if there are any gotchas with
cibuglog.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory
  2018-10-18 13:35 ` Lionel Landwerlin
@ 2018-10-19  8:11   ` Arkadiusz Hiler
  2018-10-19  8:33     ` Daniel Vetter
  0 siblings, 1 reply; 14+ messages in thread
From: Arkadiusz Hiler @ 2018-10-19  8:11 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: igt-dev, Petri Latvala, Martin Peres

On Thu, Oct 18, 2018 at 02:35:29PM +0100, Lionel Landwerlin wrote:
> On 18/10/2018 13:58, Arkadiusz Hiler wrote:
> >   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                             | 191 ++++---
> 
> You can move tests/perf.c too, it's completely i915 specific.

Yep, will do!

We have to do that in batches, as this includes renaming, with acks from
Marin, so the filters for known bugs are updated accordingly. Otherwise
pre-merge would end too noisy.

-- 
Cheers,
Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory
  2018-10-19  8:11   ` Arkadiusz Hiler
@ 2018-10-19  8:33     ` Daniel Vetter
  0 siblings, 0 replies; 14+ messages in thread
From: Daniel Vetter @ 2018-10-19  8:33 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev, Petri Latvala, Martin Peres

On Fri, Oct 19, 2018 at 11:11:53AM +0300, Arkadiusz Hiler wrote:
> On Thu, Oct 18, 2018 at 02:35:29PM +0100, Lionel Landwerlin wrote:
> > On 18/10/2018 13:58, Arkadiusz Hiler wrote:
> > >   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                             | 191 ++++---
> > 
> > You can move tests/perf.c too, it's completely i915 specific.
> 
> Yep, will do!
> 
> We have to do that in batches, as this includes renaming, with acks from
> Marin, so the filters for known bugs are updated accordingly. Otherwise
> pre-merge would end too noisy.

fwiw

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> -- 
> Cheers,
> Arek
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t v2] tests: Introduce i915 directory
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
                   ` (3 preceding siblings ...)
  2018-10-18 21:21 ` [igt-dev] [PATCH i-g-t] " Chris Wilson
@ 2018-10-19  8:48 ` Arkadiusz Hiler
  2018-10-19 10:02   ` Petri Latvala
  2018-10-19 10:20 ` [igt-dev] [PATCH i-g-t v3] " Arkadiusz Hiler
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Arkadiusz Hiler @ 2018-10-19  8:48 UTC (permalink / raw)
  To: igt-dev; +Cc: Martin Peres, Petri Latvala

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@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 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

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v2] tests: Introduce i915 directory
  2018-10-19  8:48 ` [igt-dev] [PATCH i-g-t v2] " Arkadiusz Hiler
@ 2018-10-19 10:02   ` Petri Latvala
  2018-10-19 10:12     ` Chris Wilson
  0 siblings, 1 reply; 14+ messages in thread
From: Petri Latvala @ 2018-10-19 10:02 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev, Martin Peres

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@chris-wilson.co.uk>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Martin Peres <martin.peres@linux.intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@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@intel.com>
Tested-by: Petri Latvala <petri.latvala@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
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v2] tests: Introduce i915 directory
  2018-10-19 10:02   ` Petri Latvala
@ 2018-10-19 10:12     ` Chris Wilson
  2018-10-19 10:25       ` Petri Latvala
  0 siblings, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2018-10-19 10:12 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala; +Cc: igt-dev, Martin Peres

Quoting Petri Latvala (2018-10-19 11:02:18)
> 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@chris-wilson.co.uk>
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Cc: Martin Peres <martin.peres@linux.intel.com>
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@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.

What are you talking about? Maybe explaining how amdgpu/ doesn't work,
but we haven't given it any special treatment and you can run the
compile binaries and it installs into the same targetdir as we haven't
told it otherwise.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] [PATCH i-g-t v3] tests: Introduce i915 directory
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
                   ` (4 preceding siblings ...)
  2018-10-19  8:48 ` [igt-dev] [PATCH i-g-t v2] " Arkadiusz Hiler
@ 2018-10-19 10:20 ` Arkadiusz Hiler
  2018-10-22 19:12 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: Introduce i915 directory (rev3) Patchwork
  2018-10-22 21:29 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Arkadiusz Hiler @ 2018-10-19 10:20 UTC (permalink / raw)
  To: igt-dev; +Cc: Martin Peres, Petri Latvala

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
v3: Fix docs build (Petri)

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 docs/reference/igt-gpu-tools/meson.build      |  10 +-
 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 ++++---
 135 files changed, 518 insertions(+), 230 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/docs/reference/igt-gpu-tools/meson.build b/docs/reference/igt-gpu-tools/meson.build
index ebcb6b7a..e544e71b 100644
--- a/docs/reference/igt-gpu-tools/meson.build
+++ b/docs/reference/igt-gpu-tools/meson.build
@@ -48,8 +48,6 @@ test_groups = [
 gen_description = find_program('generate_description_xml.sh')
 gen_programs = find_program('generate_programs_xml.sh')
 
-test_list_files = []
-
 generated_docs = []
 
 configure_file(input: 'version.xml.in',
@@ -61,13 +59,13 @@ if meson.version().version_compare('>= 0.47')
 		programs_xml = 'igt_test_programs_' + group + '_programs.xml'
 		generated_docs += custom_target(programs_xml,
 			      output : programs_xml,
-			      command : [ gen_programs, '@OUTPUT@', group, test_list ])
+			      command : [ gen_programs, '@OUTPUT@', group, test_list_target ])
 
 		description_xml = 'igt_test_programs_' + group + '_description.xml'
 		generated_docs += custom_target(description_xml,
 			      output : description_xml,
 			      depends : test_executables,
-			      command : [ gen_description, '@OUTPUT@', group, test_list ])
+			      command : [ gen_description, '@OUTPUT@', group, test_list_target ])
 	endforeach
 else
 	# older meson needs the build_by_default hack because gtkdoc dependency
@@ -77,14 +75,14 @@ else
 		custom_target(programs_xml,
 			      build_by_default : true,
 			      output : programs_xml,
-			      command : [ gen_programs, '@OUTPUT@', group, test_list ])
+			      command : [ gen_programs, '@OUTPUT@', group, test_list_target ])
 
 		description_xml = 'igt_test_programs_' + group + '_description.xml'
 		custom_target(description_xml,
 			      build_by_default : true,
 			      output : description_xml,
 			      depends : test_executables,
-			      command : [ gen_description, '@OUTPUT@', group, test_list ])
+			      command : [ gen_description, '@OUTPUT@', group, test_list_target ])
 	endforeach
 endif
 
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..b531a550 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',
+test_list_target = 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

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v2] tests: Introduce i915 directory
  2018-10-19 10:12     ` Chris Wilson
@ 2018-10-19 10:25       ` Petri Latvala
  0 siblings, 0 replies; 14+ messages in thread
From: Petri Latvala @ 2018-10-19 10:25 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev, Martin Peres

On Fri, Oct 19, 2018 at 11:12:29AM +0100, Chris Wilson wrote:
> Quoting Petri Latvala (2018-10-19 11:02:18)
> > 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@chris-wilson.co.uk>
> > > Cc: Petri Latvala <petri.latvala@intel.com>
> > > Cc: Martin Peres <martin.peres@linux.intel.com>
> > > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@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.
> 
> What are you talking about? Maybe explaining how amdgpu/ doesn't work,
> but we haven't given it any special treatment and you can run the
> compile binaries and it installs into the same targetdir as we haven't
> told it otherwise.

Yeah I wasn't quite clear on that one:

The test binary needs to be relative to the location of test-list.txt,
and for amdgpu the binary is amdgpu/amd_foobar. So to elaborate: The
reason is that we need to build the binaries into the tests directory
instead of tests/i915 or all tests will rename to i915/stuff@subtests
and 1) we avoid renaming tests when possible, to keep some resemblence
of test history and comparison capability 2) having / in the test name
is icky already with amdgpu. Quite soon we might be able to churn the
amdgpu tests to not have the /.


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for tests: Introduce i915 directory (rev3)
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
                   ` (5 preceding siblings ...)
  2018-10-19 10:20 ` [igt-dev] [PATCH i-g-t v3] " Arkadiusz Hiler
@ 2018-10-22 19:12 ` Patchwork
  2018-10-22 21:29 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-22 19:12 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: tests: Introduce i915 directory (rev3)
URL   : https://patchwork.freedesktop.org/series/51181/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5013 -> IGTPW_1967 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51181/revisions/3/mbox/

== Known issues ==

  Here are the changes found in IGTPW_1967 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_module_reload@basic-reload:
      fi-glk-j4005:       PASS -> DMESG-WARN (fdo#106248, fdo#106725)

    igt@gem_exec_suspend@basic-s4-devices:
      fi-icl-u2:          PASS -> DMESG-WARN (fdo#107732, fdo#108070) +1

    igt@gem_flink_basic@flink-lifetime:
      fi-icl-u2:          PASS -> DMESG-WARN (fdo#107732) +8

    igt@kms_flip@basic-flip-vs-dpms:
      fi-skl-6700hq:      PASS -> DMESG-WARN (fdo#105998)

    igt@kms_frontbuffer_tracking@basic:
      fi-byt-clapper:     PASS -> FAIL (fdo#103167)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
      fi-byt-clapper:     PASS -> FAIL (fdo#103191, fdo#107362)

    
    ==== Possible fixes ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-blb-e6850:       INCOMPLETE (fdo#107718) -> PASS

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b:
      fi-byt-clapper:     FAIL (fdo#107362) -> PASS

    
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107732 https://bugs.freedesktop.org/show_bug.cgi?id=107732
  fdo#108070 https://bugs.freedesktop.org/show_bug.cgi?id=108070


== Participating hosts (41 -> 46) ==

  Additional (9): fi-skl-guc fi-bdw-gvtdvm fi-glk-dsi fi-gdg-551 fi-pnv-d510 fi-ivb-3520m fi-kbl-7560u fi-byt-n2820 fi-snb-2600 
  Missing    (4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ivb-3770 


== Build changes ==

    * IGT: IGT_4684 -> IGTPW_1967

  CI_DRM_5013: 0008b23799728680da3d6d871d46f746a3f69c35 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1967: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1967/
  IGT_4684: 6f27fddc6dd79c0486181b64201c6773c5c42a24 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1967/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for tests: Introduce i915 directory (rev3)
  2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
                   ` (6 preceding siblings ...)
  2018-10-22 19:12 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: Introduce i915 directory (rev3) Patchwork
@ 2018-10-22 21:29 ` Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-22 21:29 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: tests: Introduce i915 directory (rev3)
URL   : https://patchwork.freedesktop.org/series/51181/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4684_full -> IGTPW_1967_full =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51181/revisions/3/mbox/

== Known issues ==

  Here are the changes found in IGTPW_1967_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_suspend@shrink:
      shard-kbl:          PASS -> INCOMPLETE (fdo#106886, fdo#103665)

    igt@gem_eio@in-flight-suspend:
      shard-kbl:          PASS -> INCOMPLETE (fdo#106702, fdo#103665)

    igt@gem_exec_schedule@pi-ringfull-bsd:
      shard-glk:          NOTRUN -> FAIL (fdo#103158)
      shard-apl:          NOTRUN -> FAIL (fdo#103158)

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-hsw:          NOTRUN -> FAIL (fdo#106641)

    igt@kms_busy@extended-modeset-hang-newfb-render-c:
      shard-glk:          NOTRUN -> DMESG-WARN (fdo#107956) +1
      shard-hsw:          NOTRUN -> DMESG-WARN (fdo#107956) +1
      shard-kbl:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
      shard-snb:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
      shard-apl:          NOTRUN -> DMESG-WARN (fdo#107956) +1

    igt@kms_busy@extended-pageflip-hang-newfb-render-a:
      shard-glk:          PASS -> DMESG-WARN (fdo#107956)
      shard-apl:          PASS -> DMESG-WARN (fdo#107956)

    igt@kms_cursor_crc@cursor-128x128-onscreen:
      shard-glk:          NOTRUN -> FAIL (fdo#103232)

    igt@kms_cursor_crc@cursor-256x256-onscreen:
      shard-kbl:          PASS -> FAIL (fdo#103232)
      shard-glk:          PASS -> FAIL (fdo#103232) +1

    igt@kms_cursor_crc@cursor-64x64-sliding:
      shard-apl:          PASS -> FAIL (fdo#103232) +1

    igt@kms_flip@2x-blocking-wf_vblank:
      shard-glk:          PASS -> INCOMPLETE (fdo#103359, k.org#198133)

    igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
      shard-glk:          PASS -> FAIL (fdo#105363)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
      shard-kbl:          NOTRUN -> FAIL (fdo#103167)
      shard-apl:          NOTRUN -> FAIL (fdo#103167)
      shard-glk:          NOTRUN -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
      shard-glk:          PASS -> FAIL (fdo#103167)

    igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
      shard-apl:          NOTRUN -> FAIL (fdo#108146)
      shard-kbl:          NOTRUN -> FAIL (fdo#108146)

    igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
      shard-glk:          NOTRUN -> FAIL (fdo#103166)
      shard-apl:          NOTRUN -> FAIL (fdo#103166)
      shard-kbl:          NOTRUN -> FAIL (fdo#103166)

    igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
      shard-apl:          PASS -> FAIL (fdo#103166) +1

    igt@kms_setmode@basic:
      shard-snb:          NOTRUN -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@kms_atomic_interruptible@legacy-dpms:
      shard-snb:          INCOMPLETE (fdo#105411) -> PASS

    igt@kms_color@pipe-c-degamma:
      shard-apl:          FAIL (fdo#104782) -> PASS

    igt@kms_cursor_crc@cursor-128x42-sliding:
      shard-glk:          FAIL (fdo#103232) -> PASS +1

    igt@kms_cursor_crc@cursor-256x85-random:
      shard-apl:          FAIL (fdo#103232) -> PASS +2

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
      shard-apl:          FAIL (fdo#103167) -> PASS

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
      shard-glk:          FAIL (fdo#103167) -> PASS +7

    igt@kms_plane@plane-position-covered-pipe-a-planes:
      shard-glk:          FAIL (fdo#103166) -> PASS +4

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-apl:          FAIL (fdo#103166) -> PASS

    igt@kms_setmode@basic:
      shard-apl:          FAIL (fdo#99912) -> PASS
      shard-hsw:          FAIL (fdo#99912) -> PASS

    
  fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106702 https://bugs.freedesktop.org/show_bug.cgi?id=106702
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4684 -> IGTPW_1967
    * Linux: CI_DRM_5010 -> CI_DRM_5013

  CI_DRM_5010: 27a4f334d3ec8882d50227c26ae4e393d7d1f4a1 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_5013: 0008b23799728680da3d6d871d46f746a3f69c35 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1967: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1967/
  IGT_4684: 6f27fddc6dd79c0486181b64201c6773c5c42a24 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1967/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-10-22 21:29 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-18 12:58 [igt-dev] [PATCH i-g-t] tests: Introduce i915 directory Arkadiusz Hiler
2018-10-18 13:35 ` Lionel Landwerlin
2018-10-19  8:11   ` Arkadiusz Hiler
2018-10-19  8:33     ` Daniel Vetter
2018-10-18 13:44 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-10-18 20:24 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-10-18 21:21 ` [igt-dev] [PATCH i-g-t] " Chris Wilson
2018-10-19  8:48 ` [igt-dev] [PATCH i-g-t v2] " Arkadiusz Hiler
2018-10-19 10:02   ` Petri Latvala
2018-10-19 10:12     ` Chris Wilson
2018-10-19 10:25       ` Petri Latvala
2018-10-19 10:20 ` [igt-dev] [PATCH i-g-t v3] " Arkadiusz Hiler
2018-10-22 19:12 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: Introduce i915 directory (rev3) Patchwork
2018-10-22 21:29 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.