[Intel-gfx] [PATCH 09/10] tests: Black list tests we don't want to run on simulation

Daniel Vetter daniel at ffwll.ch
Mon Apr 29 23:04:16 CEST 2013


On Mon, Apr 29, 2013 at 07:15:36PM +0100, Damien Lespiau wrote:
> Let's start by a small set of tests, to eventually consider running
> more.
> 
> The current list should then be:
> 
> gem_mmap
> gem_pread_after_blit
> gem_ring_sync_loop
> gem_ctx_basic
> gem_pipe_control_store_loop
> gem_storedw_loop_render
> gem_storedw_loop_blt
> gem_storedw_loop_bsd
> gem_render_linear_blits
> gem_tiled_blits
> gem_cpu_reloc
> 
> gem_exec_nop
> gem_mmap_gtt
> 
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>

Series is acked, a few comments below for more tests to include. Feel free
to ignore (for the first round at least).

Cheers, Daniel

[Comments reference the test right above them.]

> ---
>  tests/drm_lib.sh                       |  5 +++++
>  tests/drm_vma_limiter.c                |  2 ++
>  tests/drm_vma_limiter_cached.c         |  2 ++
>  tests/drm_vma_limiter_cpu.c            |  2 ++
>  tests/drm_vma_limiter_gtt.c            |  2 ++
>  tests/gem_bad_length.c                 |  2 ++
>  tests/gem_cacheing.c                   |  1 +
>  tests/gem_cpu_concurrent_blit.c        |  1 +
>  tests/gem_cs_prefetch.c                |  2 ++
>  tests/gem_cs_tlb.c                     |  1 +
>  tests/gem_ctx_bad_destroy.c            |  2 ++
>  tests/gem_ctx_bad_exec.c               |  3 +++
>  tests/gem_ctx_create.c                 |  2 ++
>  tests/gem_ctx_exec.c                   |  3 +++
>  tests/gem_double_irq_loop.c            |  2 ++
>  tests/gem_dummy_reloc_loop.c           |  1 +
>  tests/gem_exec_bad_domains.c           |  1 +

Low overhead, should imo be run in simulation.

>  tests/gem_exec_big.c                   |  2 ++
>  tests/gem_exec_blt.c                   |  2 ++
>  tests/gem_exec_faulting_reloc.c        |  2 ++

Same.

>  tests/gem_exec_lut_handle.c            |  2 ++
>  tests/gem_fence_thrash.c               |  1 +
>  tests/gem_fenced_exec_thrash.c         | 12 +++++++++---
>  tests/gem_flink.c                      |  1 +

Same.

>  tests/gem_gtt_concurrent_blit.c        |  1 +
>  tests/gem_gtt_cpu_tlb.c                |  2 ++
>  tests/gem_gtt_speed.c                  |  2 ++
>  tests/gem_hangcheck_forcewake.c        |  2 ++
>  tests/gem_largeobject.c                |  2 ++
>  tests/gem_linear_blits.c               |  2 ++
>  tests/gem_lut_handle.c                 |  2 ++

Tons of tiny batches to exercise api corner-cases. Imo worthwile with
reduced loop rounds.

>  tests/gem_mmap_offset_exhaustion.c     |  2 ++
>  tests/gem_partial_pwrite_pread.c       |  1 +
>  tests/gem_pin.c                        |  2 ++
>  tests/gem_pwrite.c                     |  2 ++
>  tests/gem_readwrite.c                  |  2 ++
>  tests/gem_reg_read.c                   |  2 ++

Tiny api test, should be included imo.

>  tests/gem_reloc_overflow.c             |  2 ++

Same.

>  tests/gem_reloc_vs_gpu.c               |  2 ++
>  tests/gem_render_tiled_blits.c         |  2 ++
>  tests/gem_ringfill.c                   |  1 +
>  tests/gem_seqno_wrap.c                 |  2 ++

Maybe with reduced default rounds. It's a bit expensive, but imo pretty
important ...

>  tests/gem_set_tiling_vs_blt.c          |  1 +
>  tests/gem_set_tiling_vs_gtt.c          |  2 ++
>  tests/gem_set_tiling_vs_pwrite.c       |  2 ++
>  tests/gem_storedw_batches_loop.c       |  2 ++
>  tests/gem_threaded_access_tiled.c      |  2 ++
>  tests/gem_tiled_fence_blits.c          |  2 ++
>  tests/gem_tiled_partial_pwrite_pread.c |  1 +
>  tests/gem_tiled_pread.c                |  2 ++
>  tests/gem_tiled_pread_pwrite.c         |  1 +
>  tests/gem_tiled_swapping.c             |  2 ++

I think we should include some of the tiled tests. tiled_pread +
tiled_pread_pwrite should give us coverage for tiling screw-ups without
hunting endlessly for cache coherency issues or trying to force the full
working set through swap. tiled_pread_pwrite definitely needs fewer rounds
(the high number is to hunt for L-shaped memory architectures, which
luckily is a thing of the past now).

>  tests/gem_tiling_max_stride.c          |  2 ++

Interface test, should be included imo.

>  tests/gem_unfence_active_buffers.c     |  2 ++
>  tests/gem_unref_active_buffers.c       |  2 ++
>  tests/gem_vmap_blits.c                 |  2 ++
>  tests/gem_wait_render_timeout.c        |  2 ++
>  tests/kms_flip.c                       |  1 +

Maybe a reduced flip test, i.e. just basic flips, 10 rounds or so? Most of
this just tests races against bazillion different things, so not too
interesting.

>  tests/prime_nv_api.c                   |  3 +++
>  tests/prime_nv_pcopy.c                 |  1 +
>  tests/prime_nv_test.c                  |  1 +
>  tests/prime_self_import.c              |  1 +

Again interface tests, imo good to include.

>  tests/prime_udl.c                      |  3 +++
>  tests/sysfs_edid_timing                |  2 ++
>  tests/sysfs_rc6_residency.c            |  2 ++
>  tests/sysfs_rps.c                      |  2 ++

Same. Or do we presume that turbo isn't working anyway?

>  tests/testdisplay.c                    |  2 ++
>  67 files changed, 131 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/drm_lib.sh b/tests/drm_lib.sh
> index a76fd47..ee31f00 100755
> --- a/tests/drm_lib.sh
> +++ b/tests/drm_lib.sh
> @@ -29,4 +29,9 @@ if [ `cat $i915_path/clients | wc -l` -gt "2" ] ; then
>  	die "ERROR: other drm clients running"
>  fi
>  
> +function drmtest_skip_on_simulation()
> +{
> +	[ -n "$INTEL_SIMULATION" ] && exit 77
> +}
>  
> +drmtest_skip_on_simulation
> diff --git a/tests/drm_vma_limiter.c b/tests/drm_vma_limiter.c
> index 1971e2d..e5025ef 100644
> --- a/tests/drm_vma_limiter.c
> +++ b/tests/drm_vma_limiter.c
> @@ -60,6 +60,8 @@ int main(int argc, char **argv)
>  	int i;
>  	char *ptr;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/drm_vma_limiter_cached.c b/tests/drm_vma_limiter_cached.c
> index 3797618..1144796 100644
> --- a/tests/drm_vma_limiter_cached.c
> +++ b/tests/drm_vma_limiter_cached.c
> @@ -61,6 +61,8 @@ int main(int argc, char **argv)
>  	char *ptr;
>  	drm_intel_bo *load_bo;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/drm_vma_limiter_cpu.c b/tests/drm_vma_limiter_cpu.c
> index 24ce188..6f65cdb 100644
> --- a/tests/drm_vma_limiter_cpu.c
> +++ b/tests/drm_vma_limiter_cpu.c
> @@ -61,6 +61,8 @@ int main(int argc, char **argv)
>  	int i;
>  	char *ptr;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/drm_vma_limiter_gtt.c b/tests/drm_vma_limiter_gtt.c
> index 540ea91..7e43fca 100644
> --- a/tests/drm_vma_limiter_gtt.c
> +++ b/tests/drm_vma_limiter_gtt.c
> @@ -62,6 +62,8 @@ int main(int argc, char **argv)
>  	int i;
>  	char *ptr;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/gem_bad_length.c b/tests/gem_bad_length.c
> index 0f2268f..bb8b6b8 100644
> --- a/tests/gem_bad_length.c
> +++ b/tests/gem_bad_length.c
> @@ -124,6 +124,8 @@ int main(int argc, char **argv)
>  {
>  	int fd;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	create0(fd);
> diff --git a/tests/gem_cacheing.c b/tests/gem_cacheing.c
> index 93983a2..8a169f1 100644
> --- a/tests/gem_cacheing.c
> +++ b/tests/gem_cacheing.c
> @@ -113,6 +113,7 @@ int main(int argc, char **argv)
>  	bool skipped_all = true;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	srandom(0xdeadbeef);
>  
> diff --git a/tests/gem_cpu_concurrent_blit.c b/tests/gem_cpu_concurrent_blit.c
> index 21cbdb0..f850492 100644
> --- a/tests/gem_cpu_concurrent_blit.c
> +++ b/tests/gem_cpu_concurrent_blit.c
> @@ -99,6 +99,7 @@ main(int argc, char **argv)
>  	int i;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  
> diff --git a/tests/gem_cs_prefetch.c b/tests/gem_cs_prefetch.c
> index 9ef35eb..3b05863 100644
> --- a/tests/gem_cs_prefetch.c
> +++ b/tests/gem_cs_prefetch.c
> @@ -96,6 +96,8 @@ int main(int argc, char **argv)
>  	int count;
>  	drm_intel_bo *sample_batch_bo;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/gem_cs_tlb.c b/tests/gem_cs_tlb.c
> index 9f8f762..05e78c2 100644
> --- a/tests/gem_cs_tlb.c
> +++ b/tests/gem_cs_tlb.c
> @@ -152,6 +152,7 @@ int main(int argc, char **argv)
>  	uint32_t devid;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  	devid = intel_get_drm_devid(fd);
> diff --git a/tests/gem_ctx_bad_destroy.c b/tests/gem_ctx_bad_destroy.c
> index 02d24eb..855cd04 100644
> --- a/tests/gem_ctx_bad_destroy.c
> +++ b/tests/gem_ctx_bad_destroy.c
> @@ -80,6 +80,8 @@ int main(int argc, char *argv[])
>  	uint32_t ctx_id;
>  	int ret, fd;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	ctx_id = context_create(fd);
> diff --git a/tests/gem_ctx_bad_exec.c b/tests/gem_ctx_bad_exec.c
> index 8a57fd4..f6463ac 100644
> --- a/tests/gem_ctx_bad_exec.c
> +++ b/tests/gem_ctx_bad_exec.c
> @@ -111,6 +111,9 @@ int main(int argc, char *argv[])
>  	uint32_t batch[2] = {MI_BATCH_BUFFER_END};
>  	uint32_t ctx_id;
>  	int fd;
> +
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	ctx_id = context_create(fd);
> diff --git a/tests/gem_ctx_create.c b/tests/gem_ctx_create.c
> index 84ef214..9601976 100644
> --- a/tests/gem_ctx_create.c
> +++ b/tests/gem_ctx_create.c
> @@ -42,6 +42,8 @@ int main(int argc, char *argv[])
>  	int ret, fd;
>  	struct local_drm_i915_gem_context_create create;
>  
> +	drmtest_skip_on_simulation();
> +
>  	create.ctx_id = rand();
>  	create.pad = rand();
>  
> diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
> index b0362cc..8468110 100644
> --- a/tests/gem_ctx_exec.c
> +++ b/tests/gem_ctx_exec.c
> @@ -122,6 +122,9 @@ int main(int argc, char *argv[])
>  	uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
>  	uint32_t ctx_id;
>  	int fd;
> +
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	ctx_id = context_create(fd);
> diff --git a/tests/gem_double_irq_loop.c b/tests/gem_double_irq_loop.c
> index f2f8b1a..5e25954 100644
> --- a/tests/gem_double_irq_loop.c
> +++ b/tests/gem_double_irq_loop.c
> @@ -98,6 +98,8 @@ int main(int argc, char **argv)
>  	int fd;
>  	int devid;
>  
> +	drmtest_skip_on_simulation();
> +
>  	if (argc != 1) {
>  		fprintf(stderr, "usage: %s\n", argv[0]);
>  		exit(-1);
> diff --git a/tests/gem_dummy_reloc_loop.c b/tests/gem_dummy_reloc_loop.c
> index b67c7d3..abf8e88 100644
> --- a/tests/gem_dummy_reloc_loop.c
> +++ b/tests/gem_dummy_reloc_loop.c
> @@ -128,6 +128,7 @@ int main(int argc, char **argv)
>  	int devid;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  	devid = intel_get_drm_devid(fd);
> diff --git a/tests/gem_exec_bad_domains.c b/tests/gem_exec_bad_domains.c
> index d174349..b2b0d43 100644
> --- a/tests/gem_exec_bad_domains.c
> +++ b/tests/gem_exec_bad_domains.c
> @@ -157,6 +157,7 @@ int main(int argc, char **argv)
>  	drm_intel_bo *tmp;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  
> diff --git a/tests/gem_exec_big.c b/tests/gem_exec_big.c
> index 3005762..9dddfac 100644
> --- a/tests/gem_exec_big.c
> +++ b/tests/gem_exec_big.c
> @@ -108,6 +108,8 @@ int main(int argc, char **argv)
>  	uint32_t reloc_ofs;
>  	unsigned batch_size;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	for (batch_size = BATCH_SIZE/4; batch_size <= BATCH_SIZE; batch_size += 4096) {
> diff --git a/tests/gem_exec_blt.c b/tests/gem_exec_blt.c
> index eb5ae66..e28c2e6 100644
> --- a/tests/gem_exec_blt.c
> +++ b/tests/gem_exec_blt.c
> @@ -250,6 +250,8 @@ int main(int argc, char **argv)
>  {
>  	int i;
>  
> +	drmtest_skip_on_simulation();
> +
>  	if (argc > 1) {
>  		for (i = 1; i < argc; i++) {
>  			int object_size = atoi(argv[i]);
> diff --git a/tests/gem_exec_faulting_reloc.c b/tests/gem_exec_faulting_reloc.c
> index 863a1b0..c880077 100644
> --- a/tests/gem_exec_faulting_reloc.c
> +++ b/tests/gem_exec_faulting_reloc.c
> @@ -220,6 +220,8 @@ static void run(int object_size)
>  
>  int main(int argc, char **argv)
>  {
> +	drmtest_skip_on_simulation();
> +
>  	run(OBJECT_SIZE);
>  
>  	return 0;
> diff --git a/tests/gem_exec_lut_handle.c b/tests/gem_exec_lut_handle.c
> index 4f544ad..54ed3dd 100644
> --- a/tests/gem_exec_lut_handle.c
> +++ b/tests/gem_exec_lut_handle.c
> @@ -127,6 +127,8 @@ int main(int argc, char **argv)
>  		{ .name = NULL },
>  	}, *p;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	for (n = 0; n < MAX_NUM_EXEC; n++) {
> diff --git a/tests/gem_fence_thrash.c b/tests/gem_fence_thrash.c
> index e1cfc4e..a28c127 100644
> --- a/tests/gem_fence_thrash.c
> +++ b/tests/gem_fence_thrash.c
> @@ -208,6 +208,7 @@ int
>  main(int argc, char **argv)
>  {
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	if (drmtest_run_subtest("bo-write-verify-none"))
>  		assert (run_test(0, bo_write_verify, I915_TILING_NONE, 80) == 0);
> diff --git a/tests/gem_fenced_exec_thrash.c b/tests/gem_fenced_exec_thrash.c
> index c8a2c58..ebc2121 100644
> --- a/tests/gem_fenced_exec_thrash.c
> +++ b/tests/gem_fenced_exec_thrash.c
> @@ -159,9 +159,15 @@ static void run_test(int fd, int num_fences, int expected_errno)
>  int
>  main(int argc, char **argv)
>  {
> -	int fd = drm_open_any();
> -	int num_fences = get_num_fences(fd);
> -	uint32_t devid = intel_get_drm_devid(fd);
> +	int fd;
> +	int num_fences;
> +	uint32_t devid;
> +
> +	drmtest_skip_on_simulation();
> +
> +	fd = drm_open_any();
> +	num_fences = get_num_fences(fd);
> +	devid = intel_get_drm_devid(fd);
>  
>  	assert(num_fences <= MAX_FENCES);
>  
> diff --git a/tests/gem_flink.c b/tests/gem_flink.c
> index bfa85c9..e3f9cc7 100644
> --- a/tests/gem_flink.c
> +++ b/tests/gem_flink.c
> @@ -155,6 +155,7 @@ int main(int argc, char **argv)
>  	int fd;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  
> diff --git a/tests/gem_gtt_concurrent_blit.c b/tests/gem_gtt_concurrent_blit.c
> index 8bd80f1..7b99558 100644
> --- a/tests/gem_gtt_concurrent_blit.c
> +++ b/tests/gem_gtt_concurrent_blit.c
> @@ -102,6 +102,7 @@ main(int argc, char **argv)
>  	int i;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  
> diff --git a/tests/gem_gtt_cpu_tlb.c b/tests/gem_gtt_cpu_tlb.c
> index 6853370..d324aee 100644
> --- a/tests/gem_gtt_cpu_tlb.c
> +++ b/tests/gem_gtt_cpu_tlb.c
> @@ -77,6 +77,8 @@ main(int argc, char **argv)
>  
>  	uint32_t *ptr;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	handle = gem_create(fd, OBJ_SIZE);
> diff --git a/tests/gem_gtt_speed.c b/tests/gem_gtt_speed.c
> index f0fb901..8b318d3 100644
> --- a/tests/gem_gtt_speed.c
> +++ b/tests/gem_gtt_speed.c
> @@ -61,6 +61,8 @@ int main(int argc, char **argv)
>  	int loop, i, tiling;
>  	int fd;
>  
> +	drmtest_skip_on_simulation();
> +
>  	if (argc > 1)
>  		size = atoi(argv[1]);
>  	if (size == 0) {
> diff --git a/tests/gem_hangcheck_forcewake.c b/tests/gem_hangcheck_forcewake.c
> index 96a30fe..4e6358b 100644
> --- a/tests/gem_hangcheck_forcewake.c
> +++ b/tests/gem_hangcheck_forcewake.c
> @@ -65,6 +65,8 @@ int main(int argc, char **argv)
>  	unsigned long pitch, act_size;
>  	int fd, i, devid;
>  
> +	drmtest_skip_on_simulation();
> +
>  	memset(blob, 'A', sizeof(blob));
>  
>  	fd = drm_open_any();
> diff --git a/tests/gem_largeobject.c b/tests/gem_largeobject.c
> index 163bf10..a14cc04 100644
> --- a/tests/gem_largeobject.c
> +++ b/tests/gem_largeobject.c
> @@ -87,6 +87,8 @@ int main(int argc, char **argv)
>  {
>  	int fd;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	test_large_object(fd);
> diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c
> index ec2dc56..f7e0fef 100644
> --- a/tests/gem_linear_blits.c
> +++ b/tests/gem_linear_blits.c
> @@ -182,6 +182,8 @@ int main(int argc, char **argv)
>  	uint32_t start = 0;
>  	int i, fd, count;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	count = 0;
> diff --git a/tests/gem_lut_handle.c b/tests/gem_lut_handle.c
> index a051003..616aa4a 100644
> --- a/tests/gem_lut_handle.c
> +++ b/tests/gem_lut_handle.c
> @@ -179,6 +179,8 @@ int main(int argc, char **argv)
>  	uint32_t handle;
>  	int fd, i;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	handle = gem_create(fd, 4096);
> diff --git a/tests/gem_mmap_offset_exhaustion.c b/tests/gem_mmap_offset_exhaustion.c
> index 51ae599..3c026bb 100644
> --- a/tests/gem_mmap_offset_exhaustion.c
> +++ b/tests/gem_mmap_offset_exhaustion.c
> @@ -83,6 +83,8 @@ int main(int argc, char **argv)
>  {
>  	int fd, i;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	/* we have 32bit of address space, so try to fit one MB more
> diff --git a/tests/gem_partial_pwrite_pread.c b/tests/gem_partial_pwrite_pread.c
> index f6fbdbf..2ca0ece 100644
> --- a/tests/gem_partial_pwrite_pread.c
> +++ b/tests/gem_partial_pwrite_pread.c
> @@ -258,6 +258,7 @@ int main(int argc, char **argv)
>  	srandom(0xdeadbeef);
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  
> diff --git a/tests/gem_pin.c b/tests/gem_pin.c
> index edf5e60..cbb1fe7 100644
> --- a/tests/gem_pin.c
> +++ b/tests/gem_pin.c
> @@ -203,6 +203,8 @@ int main(int argc, char **argv)
>  	uint32_t *handle, *offset;
>  	int fd, i;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	if (!test_can_pin(fd))
> diff --git a/tests/gem_pwrite.c b/tests/gem_pwrite.c
> index 051ed3b..45a7e63 100644
> --- a/tests/gem_pwrite.c
> +++ b/tests/gem_pwrite.c
> @@ -91,6 +91,8 @@ int main(int argc, char **argv)
>  	uint32_t *src, dst;
>  	int fd, count;
>  
> +	drmtest_skip_on_simulation();
> +
>  	if (argc > 1)
>  		object_size = atoi(argv[1]);
>  	if (object_size == 0)
> diff --git a/tests/gem_readwrite.c b/tests/gem_readwrite.c
> index d3d69e3..a4a4d9c 100644
> --- a/tests/gem_readwrite.c
> +++ b/tests/gem_readwrite.c
> @@ -82,6 +82,8 @@ int main(int argc, char **argv)
>  	int ret;
>  	int handle;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	handle = gem_create(fd, OBJECT_SIZE);
> diff --git a/tests/gem_reg_read.c b/tests/gem_reg_read.c
> index 692dd98..8f244cc 100644
> --- a/tests/gem_reg_read.c
> +++ b/tests/gem_reg_read.c
> @@ -71,6 +71,8 @@ int main(int argc, char *argv[])
>  	int ret, fd;
>  	uint64_t val;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	reg_read.offset = 0x2358;
> diff --git a/tests/gem_reloc_overflow.c b/tests/gem_reloc_overflow.c
> index 140b684..26357ab 100644
> --- a/tests/gem_reloc_overflow.c
> +++ b/tests/gem_reloc_overflow.c
> @@ -62,6 +62,8 @@ int main(int argc, char *argv[])
>  	struct drm_i915_gem_exec_object2 *execobjs;
>  	struct drm_i915_gem_execbuffer2 execbuf = { 0 };
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	/* Create giant reloc buffer area. */
> diff --git a/tests/gem_reloc_vs_gpu.c b/tests/gem_reloc_vs_gpu.c
> index 47681d5..0c943aa 100644
> --- a/tests/gem_reloc_vs_gpu.c
> +++ b/tests/gem_reloc_vs_gpu.c
> @@ -148,6 +148,8 @@ int main(int argc, char **argv)
>  	int fd, i, ring;
>  	uint32_t test;
>  
> +	drmtest_skip_on_simulation();
> +
>  	memset(blob, 'A', sizeof(blob));
>  
>  	fd = drm_open_any();
> diff --git a/tests/gem_render_tiled_blits.c b/tests/gem_render_tiled_blits.c
> index 626e652..ed21c24 100644
> --- a/tests/gem_render_tiled_blits.c
> +++ b/tests/gem_render_tiled_blits.c
> @@ -71,6 +71,8 @@ int main(int argc, char **argv)
>  	uint32_t start = 0;
>  	int i, j, fd, count;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	render_copy = get_render_copyfunc(intel_get_drm_devid(fd));
> diff --git a/tests/gem_ringfill.c b/tests/gem_ringfill.c
> index 948630b..db842fe 100644
> --- a/tests/gem_ringfill.c
> +++ b/tests/gem_ringfill.c
> @@ -206,6 +206,7 @@ int main(int argc, char **argv)
>  	int fd, fails = 0;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  
> diff --git a/tests/gem_seqno_wrap.c b/tests/gem_seqno_wrap.c
> index 776dedc..f354a52 100644
> --- a/tests/gem_seqno_wrap.c
> +++ b/tests/gem_seqno_wrap.c
> @@ -647,6 +647,8 @@ int main(int argc, char **argv)
>  	int wcount = 0;
>  	int r = -1;
>  
> +	drmtest_skip_on_simulation();
> +
>  	parse_options(argc, argv);
>  
>  	card_index = drm_get_card(0);
> diff --git a/tests/gem_set_tiling_vs_blt.c b/tests/gem_set_tiling_vs_blt.c
> index 69dc7e6..398a227 100644
> --- a/tests/gem_set_tiling_vs_blt.c
> +++ b/tests/gem_set_tiling_vs_blt.c
> @@ -234,6 +234,7 @@ int main(int argc, char **argv)
>  	uint32_t tiling, tiling_after;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	for (i = 0; i < 1024*256; i++)
>  		data[i] = i;
> diff --git a/tests/gem_set_tiling_vs_gtt.c b/tests/gem_set_tiling_vs_gtt.c
> index 1241b54..4065ff4 100644
> --- a/tests/gem_set_tiling_vs_gtt.c
> +++ b/tests/gem_set_tiling_vs_gtt.c
> @@ -58,6 +58,8 @@ int main(int argc, char **argv)
>  	bool tiling_changed;
>  	int tile_height;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	if (IS_GEN2(intel_get_drm_devid(fd)))
> diff --git a/tests/gem_set_tiling_vs_pwrite.c b/tests/gem_set_tiling_vs_pwrite.c
> index 35ec5cd..77f4462 100644
> --- a/tests/gem_set_tiling_vs_pwrite.c
> +++ b/tests/gem_set_tiling_vs_pwrite.c
> @@ -56,6 +56,8 @@ int main(int argc, char **argv)
>  	int i;
>  	uint32_t handle;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	for (i = 0; i < OBJECT_SIZE/4; i++)
> diff --git a/tests/gem_storedw_batches_loop.c b/tests/gem_storedw_batches_loop.c
> index 86c3469..79eebb2 100644
> --- a/tests/gem_storedw_batches_loop.c
> +++ b/tests/gem_storedw_batches_loop.c
> @@ -137,6 +137,8 @@ int main(int argc, char **argv)
>  	int fd;
>  	int devid;
>  
> +	drmtest_skip_on_simulation();
> +
>  	if (argc != 1) {
>  		fprintf(stderr, "usage: %s\n", argv[0]);
>  		exit(-1);
> diff --git a/tests/gem_threaded_access_tiled.c b/tests/gem_threaded_access_tiled.c
> index 362cf3a..48a6f62 100644
> --- a/tests/gem_threaded_access_tiled.c
> +++ b/tests/gem_threaded_access_tiled.c
> @@ -95,6 +95,8 @@ int main(int argc, char **argv)
>  	unsigned long pitch = 0;
>  	int r;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  	assert(fd >= 0);
>  
> diff --git a/tests/gem_tiled_fence_blits.c b/tests/gem_tiled_fence_blits.c
> index dc65479..2b02943 100644
> --- a/tests/gem_tiled_fence_blits.c
> +++ b/tests/gem_tiled_fence_blits.c
> @@ -108,6 +108,8 @@ int main(int argc, char **argv)
>  	uint32_t start = 0;
>  	int fd, i, count;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  	count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
>  	if (count > intel_get_total_ram_mb() * 9 / 10) {
> diff --git a/tests/gem_tiled_partial_pwrite_pread.c b/tests/gem_tiled_partial_pwrite_pread.c
> index f6df562..48fd506 100644
> --- a/tests/gem_tiled_partial_pwrite_pread.c
> +++ b/tests/gem_tiled_partial_pwrite_pread.c
> @@ -277,6 +277,7 @@ int main(int argc, char **argv)
>  	uint32_t tiling_mode = I915_TILING_X;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	srandom(0xdeadbeef);
>  
> diff --git a/tests/gem_tiled_pread.c b/tests/gem_tiled_pread.c
> index 189affc..779f66f 100644
> --- a/tests/gem_tiled_pread.c
> +++ b/tests/gem_tiled_pread.c
> @@ -134,6 +134,8 @@ main(int argc, char **argv)
>  	uint32_t handle;
>  	uint32_t devid;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	handle = create_bo(fd);
> diff --git a/tests/gem_tiled_pread_pwrite.c b/tests/gem_tiled_pread_pwrite.c
> index ed6b711..0eb7098 100644
> --- a/tests/gem_tiled_pread_pwrite.c
> +++ b/tests/gem_tiled_pread_pwrite.c
> @@ -123,6 +123,7 @@ main(int argc, char **argv)
>  	uint32_t handle, handle_target;
>  	int count;
>  	
> +	drmtest_skip_on_simulation();
>  
>  	fd = drm_open_any();
>  	count = intel_get_total_ram_mb() * 9 / 10;
> diff --git a/tests/gem_tiled_swapping.c b/tests/gem_tiled_swapping.c
> index 14f5f40..702cb74 100644
> --- a/tests/gem_tiled_swapping.c
> +++ b/tests/gem_tiled_swapping.c
> @@ -101,6 +101,8 @@ main(int argc, char **argv)
>  	int count;
>  	current_tiling_mode = I915_TILING_X;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  	/* need slightly more than total ram */
>  	count = intel_get_total_ram_mb() * 11 / 10;
> diff --git a/tests/gem_tiling_max_stride.c b/tests/gem_tiling_max_stride.c
> index 21daab0..0429d39 100644
> --- a/tests/gem_tiling_max_stride.c
> +++ b/tests/gem_tiling_max_stride.c
> @@ -81,6 +81,8 @@ int main(int argc, char *argv[])
>  	int tile_width = 512;
>  	int tile_height = 8;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	devid = intel_get_drm_devid(fd);
> diff --git a/tests/gem_unfence_active_buffers.c b/tests/gem_unfence_active_buffers.c
> index bffc62e..3f6a053 100644
> --- a/tests/gem_unfence_active_buffers.c
> +++ b/tests/gem_unfence_active_buffers.c
> @@ -70,6 +70,8 @@ int main(int argc, char **argv)
>  	drm_intel_bo *busy_bo, *test_bo;
>  	uint32_t tiling = I915_TILING_X;
>  
> +	drmtest_skip_on_simulation();
> +
>  	for (i = 0; i < 1024*256; i++)
>  		data[i] = i;
>  
> diff --git a/tests/gem_unref_active_buffers.c b/tests/gem_unref_active_buffers.c
> index aa29c1d..8a13a20 100644
> --- a/tests/gem_unref_active_buffers.c
> +++ b/tests/gem_unref_active_buffers.c
> @@ -56,6 +56,8 @@ int main(int argc, char **argv)
>  {
>  	int fd, i;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/gem_vmap_blits.c b/tests/gem_vmap_blits.c
> index b886821..5e1c170 100644
> --- a/tests/gem_vmap_blits.c
> +++ b/tests/gem_vmap_blits.c
> @@ -262,6 +262,8 @@ int main(int argc, char **argv)
>  	uint32_t start = 0;
>  	int i, fd, count;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	if (!has_vmap(fd)) {
> diff --git a/tests/gem_wait_render_timeout.c b/tests/gem_wait_render_timeout.c
> index 14482e3..ed30e5c 100644
> --- a/tests/gem_wait_render_timeout.c
> +++ b/tests/gem_wait_render_timeout.c
> @@ -122,6 +122,8 @@ int main(int argc, char **argv)
>  	bool done = false;
>  	int i, iter = 1;
>  
> +	drmtest_skip_on_simulation();
> +
>  	fd = drm_open_any();
>  
>  	bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> index 39f0043..db4a65a 100644
> --- a/tests/kms_flip.c
> +++ b/tests/kms_flip.c
> @@ -1202,6 +1202,7 @@ int main(int argc, char **argv)
>  	int i;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	drm_fd = drm_open_any();
>  
> diff --git a/tests/prime_nv_api.c b/tests/prime_nv_api.c
> index e1b7117..f6e1697 100644
> --- a/tests/prime_nv_api.c
> +++ b/tests/prime_nv_api.c
> @@ -18,6 +18,7 @@
>  #include "nouveau.h"
>  #include "intel_gpu_tools.h"
>  #include "intel_batchbuffer.h"
> +#include "drmtest.h"
>  
>  #define BO_SIZE (256*1024)
>  
> @@ -316,6 +317,8 @@ int main(int argc, char **argv)
>  {
>  	int ret;
>  
> +	drmtest_skip_on_simulation();
> +
>  	ret = find_and_open_devices();
>  	if (ret < 0)
>  		return ret;
> diff --git a/tests/prime_nv_pcopy.c b/tests/prime_nv_pcopy.c
> index 88b14e5..1995de0 100644
> --- a/tests/prime_nv_pcopy.c
> +++ b/tests/prime_nv_pcopy.c
> @@ -1268,6 +1268,7 @@ int main(int argc, char **argv)
>  	int ret, failed = 0, run = 0;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	ret = find_and_open_devices();
>  	if (ret < 0)
> diff --git a/tests/prime_nv_test.c b/tests/prime_nv_test.c
> index 9edd9e0..f864441 100644
> --- a/tests/prime_nv_test.c
> +++ b/tests/prime_nv_test.c
> @@ -511,6 +511,7 @@ int main(int argc, char **argv)
>  		return ret;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	if (nouveau_fd == -1 || intel_fd == -1) {
>  		fprintf(stderr,"failed to find intel and nouveau GPU\n");
> diff --git a/tests/prime_self_import.c b/tests/prime_self_import.c
> index abdc220..79afe70 100644
> --- a/tests/prime_self_import.c
> +++ b/tests/prime_self_import.c
> @@ -197,6 +197,7 @@ int main(int argc, char **argv)
>  	int i;
>  
>  	drmtest_subtest_init(argc, argv);
> +	drmtest_skip_on_simulation();
>  
>  	for (i = 0; i < ARRAY_SIZE(tests); i++) {
>  		if (drmtest_run_subtest(tests[i].name))
> diff --git a/tests/prime_udl.c b/tests/prime_udl.c
> index 4e0d9be..97f7898 100644
> --- a/tests/prime_udl.c
> +++ b/tests/prime_udl.c
> @@ -29,6 +29,7 @@
>  #include "intel_bufmgr.h"
>  #include "intel_gpu_tools.h"
>  #include "intel_batchbuffer.h"
> +#include "drmtest.h"
>  
>  int intel_fd = -1, udl_fd = -1;
>  drm_intel_bufmgr *bufmgr;
> @@ -150,6 +151,8 @@ int main(int argc, char **argv)
>  {
>  	int ret;
>  
> +	drmtest_skip_on_simulation();
> +
>  	ret = find_and_open_devices();
>  	if (ret < 0)
>  		return ret;
> diff --git a/tests/sysfs_edid_timing b/tests/sysfs_edid_timing
> index 3a8c6c0..2a43cca 100755
> --- a/tests/sysfs_edid_timing
> +++ b/tests/sysfs_edid_timing
> @@ -5,6 +5,8 @@
>  # we sometimes take a *really* long time. So let's just check for some reasonable timing here
>  #
>  
> +[ -n "$INTEL_SIMULATION" ] && exit 77
> +
>  TIME1=$(date +%s%N)
>  cat $(find /sys/devices/|grep drm | grep /status) > /dev/null
>  TIME2=$(date +%s%N)
> diff --git a/tests/sysfs_rc6_residency.c b/tests/sysfs_rc6_residency.c
> index cd62e77..f4d8477 100644
> --- a/tests/sysfs_rc6_residency.c
> +++ b/tests/sysfs_rc6_residency.c
> @@ -63,6 +63,8 @@ int main(int argc, char *argv[])
>  	FILE *file;
>  	int diff;
>  
> +	drmtest_skip_on_simulation();
> +
>  	/* Use drm_open_any to verify device existence */
>  	fd = drm_open_any();
>  	close(fd);
> diff --git a/tests/sysfs_rps.c b/tests/sysfs_rps.c
> index 8ba541c..480592a 100644
> --- a/tests/sysfs_rps.c
> +++ b/tests/sysfs_rps.c
> @@ -133,6 +133,8 @@ int main(int argc, char *argv[])
>  	struct junk *junk = stuff;
>  	int fd, ret;
>  
> +	drmtest_skip_on_simulation();
> +
>  	if (argc > 1)
>  		verbose++;
>  
> diff --git a/tests/testdisplay.c b/tests/testdisplay.c
> index 251141f..c653792 100644
> --- a/tests/testdisplay.c
> +++ b/tests/testdisplay.c
> @@ -675,6 +675,8 @@ int main(int argc, char **argv)
>  	GMainLoop *mainloop;
>  	float force_clock;
>  
> +	drmtest_skip_on_simulation();
> +
>  	enter_exec_path( argv );
>  
>  	opterr = 0;
> -- 
> 1.8.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list