* Provide a simulation friendly test environment v4
@ 2013-07-18 15:19 Damien Lespiau
2013-07-18 15:19 ` [PATCH 1/8] lib: Rename IGT_QUICK to INTEL_SIMULATION Damien Lespiau
` (8 more replies)
0 siblings, 9 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
It was high time to follow up on:
http://lists.freedesktop.org/archives/intel-gfx/2013-April/027361.html
Changes from v2:
• Take into account Daniel's comments and add the tests he listed
• Actually runs on simulation now
--
Damien
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/8] lib: Rename IGT_QUICK to INTEL_SIMULATION
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:19 ` [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation() Damien Lespiau
` (7 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
It's more accurate this way as the quick mode is really useful for in
the simulation environment.
v2: Use the INTEL_ prefix to have a chance to share the same environment
variable as piglit OpenGL tests
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
lib/drmtest.c | 10 +++++-----
lib/drmtest.h | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/lib/drmtest.c b/lib/drmtest.c
index 011d8c1..76c84b1 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -699,14 +699,14 @@ static bool env_set(const char *env_var)
return atoi(val) != 0;
}
-bool drmtest_run_quick(void)
+bool drmtest_run_in_simulation(void)
{
- static int run_quick = -1;
+ static int simulation = -1;
- if (run_quick == -1)
- run_quick = env_set("IGT_QUICK");
+ if (simulation == -1)
+ simulation = env_set("INTEL_SIMULATION");
- return run_quick;
+ return simulation;
}
/* other helpers */
diff --git a/lib/drmtest.h b/lib/drmtest.h
index e3a9275..5050a5d 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -93,8 +93,8 @@ void drmtest_subtest_init(int argc, char **argv);
bool drmtest_run_subtest(const char *subtest_name);
bool drmtest_only_list_subtests(void);
-bool drmtest_run_quick(void);
-#define SLOW_QUICK(slow,quick) (drmtest_run_quick() ? (quick) : (slow))
+bool drmtest_run_in_simulation(void);
+#define SLOW_QUICK(slow,quick) (drmtest_run_in_simulation() ? (quick) : (slow))
/* helpers based upon the libdrm buffer manager */
void drmtest_init_aperture_trashers(drm_intel_bufmgr *bufmgr);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
2013-07-18 15:19 ` [PATCH 1/8] lib: Rename IGT_QUICK to INTEL_SIMULATION Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 16:18 ` Jesse Barnes
2013-07-18 15:19 ` [PATCH 3/8] lib: Remove old dead code intel_batchbuffer_emit_mi_flush() Damien Lespiau
` (6 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
This will allow us to explicitely blacklist tests we don't want to run
on simulation.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
lib/drmtest.c | 12 ++++++++++++
lib/drmtest.h | 1 +
2 files changed, 13 insertions(+)
diff --git a/lib/drmtest.c b/lib/drmtest.c
index 76c84b1..a9a7498 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -39,6 +39,7 @@
#include <getopt.h>
#include <stdlib.h>
#include <linux/kd.h>
+#include <unistd.h>
#include "drm_fourcc.h"
#include "drmtest.h"
@@ -709,6 +710,17 @@ bool drmtest_run_in_simulation(void)
return simulation;
}
+/* Skip the test when running on simulation (and that's relevant only when
+ * we're not in the mode where we list the subtests) */
+void drmtest_skip_on_simulation(void)
+{
+ if (drmtest_only_list_subtests())
+ return;
+
+ if (drmtest_run_in_simulation())
+ exit(77);
+}
+
/* other helpers */
void drmtest_exchange_int(void *array, unsigned i, unsigned j)
{
diff --git a/lib/drmtest.h b/lib/drmtest.h
index 5050a5d..c31fed1 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -95,6 +95,7 @@ bool drmtest_only_list_subtests(void);
bool drmtest_run_in_simulation(void);
#define SLOW_QUICK(slow,quick) (drmtest_run_in_simulation() ? (quick) : (slow))
+void drmtest_skip_on_simulation(void);
/* helpers based upon the libdrm buffer manager */
void drmtest_init_aperture_trashers(drm_intel_bufmgr *bufmgr);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 3/8] lib: Remove old dead code intel_batchbuffer_emit_mi_flush()
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
2013-07-18 15:19 ` [PATCH 1/8] lib: Rename IGT_QUICK to INTEL_SIMULATION Damien Lespiau
2013-07-18 15:19 ` [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation() Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:19 ` [PATCH 4/8] tests: Black list tests we don't want to run on simulation Damien Lespiau
` (5 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
lib/intel_batchbuffer.c | 7 -------
lib/intel_batchbuffer.h | 3 ---
2 files changed, 10 deletions(-)
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 724e23d..c6c8153 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -232,10 +232,3 @@ intel_copy_bo(struct intel_batchbuffer *batch,
intel_batchbuffer_flush(batch);
}
-
-void
-intel_batchbuffer_emit_mi_flush(struct intel_batchbuffer *batch)
-{
- intel_batchbuffer_require_space(batch, 4);
- intel_batchbuffer_emit_dword(batch, MI_FLUSH);
-}
diff --git a/lib/intel_batchbuffer.h b/lib/intel_batchbuffer.h
index 9f45ac6..67617ce 100644
--- a/lib/intel_batchbuffer.h
+++ b/lib/intel_batchbuffer.h
@@ -96,9 +96,6 @@ intel_batchbuffer_require_space(struct intel_batchbuffer *batch,
#define ADVANCE_BATCH() do { \
} while(0)
-void
-intel_batchbuffer_emit_mi_flush(struct intel_batchbuffer *batch);
-
void intel_copy_bo(struct intel_batchbuffer *batch,
drm_intel_bo *dst_bo, drm_intel_bo *src_bo,
int width, int height);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 4/8] tests: Black list tests we don't want to run on simulation
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
` (2 preceding siblings ...)
2013-07-18 15:19 ` [PATCH 3/8] lib: Remove old dead code intel_batchbuffer_emit_mi_flush() Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:19 ` [PATCH 5/8] tests: Instrument tests run in simulation to run quickly Damien Lespiau
` (4 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
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
v2 add (Daniel Vetter)
gem_exec_bad_domains
gem_exec_faulting_reloc
gem_flink
gem_reg_read
gem_reloc_overflow
gem_tiling_max_stride
prime_*
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
tests/drm_lib.sh | 7 +++++++
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_big.c | 2 ++
tests/gem_exec_blt.c | 2 ++
tests/gem_exec_lut_handle.c | 2 ++
tests/gem_fence_thrash.c | 1 +
tests/gem_fenced_exec_thrash.c | 12 +++++++++---
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 ++
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_reloc_vs_gpu.c | 2 ++
tests/gem_render_tiled_blits.c | 2 ++
tests/gem_ringfill.c | 1 +
tests/gem_seqno_wrap.c | 2 ++
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 ++
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/gem_write_read_ring_switch.c | 1 +
tests/kms_flip.c | 1 +
tests/kms_render.c | 1 +
tests/prime_udl.c | 3 +++
tests/sysfs_edid_timing | 2 ++
tests/sysfs_rc6_residency.c | 2 ++
tests/sysfs_rps.c | 2 ++
tests/testdisplay.c | 2 ++
59 files changed, 119 insertions(+), 3 deletions(-)
diff --git a/tests/drm_lib.sh b/tests/drm_lib.sh
index 5ca815b..2532352 100755
--- a/tests/drm_lib.sh
+++ b/tests/drm_lib.sh
@@ -37,3 +37,10 @@ if [ -d /sys/class/drm ] ; then
fi
fi
# sysfs may not exist as the 'error' is a new interface in 3.11
+
+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 d5012cf..e6cc50b 100644
--- a/tests/gem_cpu_concurrent_blit.c
+++ b/tests/gem_cpu_concurrent_blit.c
@@ -96,6 +96,7 @@ main(int argc, char **argv)
int i, loop, fd;
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 1347d40..b889f83 100644
--- a/tests/gem_dummy_reloc_loop.c
+++ b/tests/gem_dummy_reloc_loop.c
@@ -131,6 +131,7 @@ int main(int argc, char **argv)
int num_rings;
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_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_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_gtt_concurrent_blit.c b/tests/gem_gtt_concurrent_blit.c
index 83e5f04..b3ac0b4 100644
--- a/tests/gem_gtt_concurrent_blit.c
+++ b/tests/gem_gtt_concurrent_blit.c
@@ -99,6 +99,7 @@ main(int argc, char **argv)
int fd, loop, 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 321c727..0956fd0 100644
--- a/tests/gem_linear_blits.c
+++ b/tests/gem_linear_blits.c
@@ -240,6 +240,8 @@ int main(int argc, char **argv)
{
int fd, count = 0;
+ drmtest_skip_on_simulation();
+
drmtest_subtest_init(argc, argv);
fd = drm_open_any();
diff --git a/tests/gem_lut_handle.c b/tests/gem_lut_handle.c
index 339e763..fdd2ab8 100644
--- a/tests/gem_lut_handle.c
+++ b/tests/gem_lut_handle.c
@@ -183,6 +183,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_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_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/gem_write_read_ring_switch.c b/tests/gem_write_read_ring_switch.c
index b7fedc6..162c059 100644
--- a/tests/gem_write_read_ring_switch.c
+++ b/tests/gem_write_read_ring_switch.c
@@ -174,6 +174,7 @@ int main(int argc, char **argv)
int i;
drmtest_subtest_init(argc, argv);
+ drmtest_skip_on_simulation();
fd = drm_open_any();
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index e1f2864..9e0d235 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1171,6 +1171,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/kms_render.c b/tests/kms_render.c
index 3867a0b..72bae2f 100644
--- a/tests/kms_render.c
+++ b/tests/kms_render.c
@@ -225,6 +225,7 @@ int main(int argc, char **argv)
int i;
drmtest_subtest_init(argc, argv);
+ drmtest_skip_on_simulation();
if (!drmtest_only_list_subtests()) {
drm_fd = drm_open_any();
diff --git a/tests/prime_udl.c b/tests/prime_udl.c
index 81670c4..8e47003 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 e5020c9..3781612 100644
--- a/tests/testdisplay.c
+++ b/tests/testdisplay.c
@@ -533,6 +533,8 @@ int main(int argc, char **argv)
GMainLoop *mainloop;
float force_clock;
+ drmtest_skip_on_simulation();
+
enter_exec_path( argv );
opterr = 0;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 5/8] tests: Instrument tests run in simulation to run quickly
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
` (3 preceding siblings ...)
2013-07-18 15:19 ` [PATCH 4/8] tests: Black list tests we don't want to run on simulation Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:19 ` [PATCH 6/8] tests: Instrument gem_lut_handle for simulation Damien Lespiau
` (3 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
We tweak the tests marked as runnable in simulation to run more quickly,
more often then not at the expense of stress testing (which is of an
arguable interest for the initial bring up in simulation). Hopefully the
values chosen still test something, which is not always straightforward.
It does run quickly, the number on an IVB machines are:
$ time sudo IGT_SIMULATION=0 ./piglit-run.py tests/igt.tests foo
[...]
real 2m0.141s
user 0m16.365s
sys 1m33.382s
Vs.
$ time sudo IGT_SIMULATION=1 ./piglit-run.py tests/igt.tests foo
[...]
real 0m0.448s
user 0m0.226s
sys 0m0.183s
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
tests/gem_cpu_reloc.c | 3 +++
tests/gem_ctx_basic.c | 5 +++++
tests/gem_exec_nop.c | 2 +-
tests/gem_mmap_gtt.c | 5 ++++-
tests/gem_pipe_control_store_loop.c | 2 +-
tests/gem_render_linear_blits.c | 6 ++++++
tests/gem_ring_sync_loop.c | 2 +-
tests/gem_storedw_batches_loop.c | 8 +++++---
tests/gem_storedw_loop_blt.c | 6 ++++--
tests/gem_storedw_loop_bsd.c | 6 ++++--
tests/gem_storedw_loop_render.c | 6 ++++--
tests/gem_tiled_blits.c | 5 +++++
12 files changed, 43 insertions(+), 13 deletions(-)
diff --git a/tests/gem_cpu_reloc.c b/tests/gem_cpu_reloc.c
index baf8301..ad70e40 100644
--- a/tests/gem_cpu_reloc.c
+++ b/tests/gem_cpu_reloc.c
@@ -153,6 +153,9 @@ int main(int argc, char **argv)
}
count = aper_size / 4096 * 2;
+ if (drmtest_run_in_simulation())
+ count = 10;
+
handles = malloc (count * sizeof(uint32_t));
assert(handles);
diff --git a/tests/gem_ctx_basic.c b/tests/gem_ctx_basic.c
index 3757d84..729c79c 100644
--- a/tests/gem_ctx_basic.c
+++ b/tests/gem_ctx_basic.c
@@ -143,6 +143,11 @@ int main(int argc, char *argv[])
fd = drm_open_any();
devid = intel_get_drm_devid(fd);
+ if (drmtest_run_in_simulation()) {
+ num_contexts = 2;
+ iter = 4;
+ }
+
parse(argc, argv);
threads = calloc(num_contexts, sizeof(*threads));
diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c
index 5888432..35cb23d 100644
--- a/tests/gem_exec_nop.c
+++ b/tests/gem_exec_nop.c
@@ -96,7 +96,7 @@ static void loop(int fd, uint32_t handle, unsigned ring_id, const char *ring_nam
skipped_all = false;
- for (count = 1; count <= 1<<17; count <<= 1) {
+ for (count = 1; count <= SLOW_QUICK(1<<17, 1<<4); count <<= 1) {
struct timeval start, end;
gettimeofday(&start, NULL);
diff --git a/tests/gem_mmap_gtt.c b/tests/gem_mmap_gtt.c
index d759340..e53a942 100644
--- a/tests/gem_mmap_gtt.c
+++ b/tests/gem_mmap_gtt.c
@@ -40,7 +40,7 @@
#include "i915_drm.h"
#include "drmtest.h"
-#define OBJECT_SIZE (16*1024*1024)
+static int OBJECT_SIZE = 16*1024*1024;
static void set_domain(int fd, uint32_t handle)
{
@@ -148,6 +148,9 @@ int main(int argc, char **argv)
{
int fd;
+ if (drmtest_run_in_simulation())
+ OBJECT_SIZE = 1 * 1024 * 1024;
+
drmtest_subtest_init(argc, argv);
fd = drm_open_any();
diff --git a/tests/gem_pipe_control_store_loop.c b/tests/gem_pipe_control_store_loop.c
index e03cddd..af6a758 100644
--- a/tests/gem_pipe_control_store_loop.c
+++ b/tests/gem_pipe_control_store_loop.c
@@ -70,7 +70,7 @@ store_pipe_control_loop(void)
uint32_t *buf;
drm_intel_bo *target_bo;
- for (i = 0; i < 0x10000; i++) {
+ for (i = 0; i < SLOW_QUICK(0x10000, 4); i++) {
/* we want to check tlb consistency of the pipe_control target,
* so get a new buffer every time around */
target_bo = drm_intel_bo_alloc(bufmgr, "target bo", 4096, 4096);
diff --git a/tests/gem_render_linear_blits.c b/tests/gem_render_linear_blits.c
index a7e0189..c94f451 100644
--- a/tests/gem_render_linear_blits.c
+++ b/tests/gem_render_linear_blits.c
@@ -81,8 +81,11 @@ int main(int argc, char **argv)
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
count = 0;
+ if (drmtest_run_in_simulation())
+ count = 2;
if (argc > 1)
count = atoi(argv[1]);
+
if (count == 0)
count = 3 * gem_aperture_size(fd) / SIZE / 2;
else if (count < 2) {
@@ -127,6 +130,9 @@ int main(int argc, char **argv)
for (i = 0; i < count; i++)
check_bo(fd, bo[i]->handle, start_val[i]);
+ if (drmtest_run_in_simulation())
+ return 0;
+
printf("Cyclic blits, backward...\n");
for (i = 0; i < count * 4; i++) {
struct scratch_buf src, dst;
diff --git a/tests/gem_ring_sync_loop.c b/tests/gem_ring_sync_loop.c
index af40590..b111275 100644
--- a/tests/gem_ring_sync_loop.c
+++ b/tests/gem_ring_sync_loop.c
@@ -63,7 +63,7 @@ store_dword_loop(int fd)
srandom(0xdeadbeef);
- for (i = 0; i < 0x100000; i++) {
+ for (i = 0; i < SLOW_QUICK(0x100000, 10); i++) {
int ring = random() % num_rings + 1;
if (ring == I915_EXEC_RENDER) {
diff --git a/tests/gem_storedw_batches_loop.c b/tests/gem_storedw_batches_loop.c
index 79eebb2..3b25524 100644
--- a/tests/gem_storedw_batches_loop.c
+++ b/tests/gem_storedw_batches_loop.c
@@ -60,7 +60,7 @@ store_dword_loop(int divider)
if (!has_ppgtt)
cmd |= MI_MEM_VIRTUAL;
- for (i = 0; i < SLOW_QUICK(0x80000, 0x10); i++) {
+ for (i = 0; i < SLOW_QUICK(0x80000, 4); i++) {
cmd_bo = drm_intel_bo_alloc(bufmgr, "cmd bo", 4096, 4096);
if (!cmd_bo) {
fprintf(stderr, "failed to alloc cmd bo\n");
@@ -172,8 +172,10 @@ int main(int argc, char **argv)
store_dword_loop(1);
store_dword_loop(2);
- store_dword_loop(3);
- store_dword_loop(5);
+ if (!drmtest_run_in_simulation()) {
+ store_dword_loop(3);
+ store_dword_loop(5);
+ }
drm_intel_bo_unreference(target_bo);
drm_intel_bufmgr_destroy(bufmgr);
diff --git a/tests/gem_storedw_loop_blt.c b/tests/gem_storedw_loop_blt.c
index cacae3a..279d477 100644
--- a/tests/gem_storedw_loop_blt.c
+++ b/tests/gem_storedw_loop_blt.c
@@ -150,8 +150,10 @@ int main(int argc, char **argv)
store_dword_loop(1);
store_dword_loop(2);
- store_dword_loop(3);
- store_dword_loop(5);
+ if (!drmtest_run_in_simulation()) {
+ store_dword_loop(3);
+ store_dword_loop(5);
+ }
drm_intel_bo_unreference(target_buffer);
intel_batchbuffer_free(batch);
diff --git a/tests/gem_storedw_loop_bsd.c b/tests/gem_storedw_loop_bsd.c
index 232c3a6..d9046d6 100644
--- a/tests/gem_storedw_loop_bsd.c
+++ b/tests/gem_storedw_loop_bsd.c
@@ -156,8 +156,10 @@ int main(int argc, char **argv)
store_dword_loop(1);
store_dword_loop(2);
- store_dword_loop(3);
- store_dword_loop(5);
+ if (!drmtest_run_in_simulation()) {
+ store_dword_loop(3);
+ store_dword_loop(5);
+ }
drm_intel_bo_unreference(target_buffer);
intel_batchbuffer_free(batch);
diff --git a/tests/gem_storedw_loop_render.c b/tests/gem_storedw_loop_render.c
index fe09834..e37ee70 100644
--- a/tests/gem_storedw_loop_render.c
+++ b/tests/gem_storedw_loop_render.c
@@ -144,8 +144,10 @@ int main(int argc, char **argv)
store_dword_loop(1);
store_dword_loop(2);
- store_dword_loop(3);
- store_dword_loop(5);
+ if (!drmtest_run_in_simulation()) {
+ store_dword_loop(3);
+ store_dword_loop(5);
+ }
drm_intel_bo_unreference(target_buffer);
intel_batchbuffer_free(batch);
diff --git a/tests/gem_tiled_blits.c b/tests/gem_tiled_blits.c
index 4a825d9..b879b1c 100644
--- a/tests/gem_tiled_blits.c
+++ b/tests/gem_tiled_blits.c
@@ -150,6 +150,9 @@ static void run_test(int count)
for (i = 0; i < count; i++)
check_bo(bo[i], bo_start_val[i]);
+ if (drmtest_run_in_simulation())
+ return;
+
printf("Cyclic blits, backward...\n");
for (i = 0; i < count * 4; i++) {
int src = (i+1) % count;
@@ -192,6 +195,8 @@ int main(int argc, char **argv)
fd = drm_open_any();
if (!drmtest_only_list_subtests()) {
+ if (drmtest_run_in_simulation())
+ count = 2;
if (argc > 1)
count = atoi(argv[1]);
if (count == 0) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 6/8] tests: Instrument gem_lut_handle for simulation
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
` (4 preceding siblings ...)
2013-07-18 15:19 ` [PATCH 5/8] tests: Instrument tests run in simulation to run quickly Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:19 ` [PATCH 7/8] tests: Instrument gem_seqno_wrap to run in simulation Damien Lespiau
` (2 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
tests/gem_lut_handle.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tests/gem_lut_handle.c b/tests/gem_lut_handle.c
index fdd2ab8..f3e5734 100644
--- a/tests/gem_lut_handle.c
+++ b/tests/gem_lut_handle.c
@@ -183,8 +183,6 @@ 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);
@@ -199,7 +197,7 @@ int main(int argc, char **argv)
do_or_die(exec(fd, handle, USE_LUT));
fail(exec(fd, handle, USE_LUT | BROKEN));
- for (i = 2; i <= 65536; i *= 2) {
+ for (i = 2; i <= SLOW_QUICK(65536, 8); i *= 2) {
if (many_exec(fd, handle, i+1, i+1, NORMAL) == -1 &&
errno == ENOSPC)
break;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 7/8] tests: Instrument gem_seqno_wrap to run in simulation
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
` (5 preceding siblings ...)
2013-07-18 15:19 ` [PATCH 6/8] tests: Instrument gem_lut_handle for simulation Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:19 ` [PATCH 8/8] tests: Add some tiled tests to the runs on simulation Damien Lespiau
2013-07-18 15:50 ` Provide a simulation friendly test environment v4 Daniel Vetter
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
tests/gem_seqno_wrap.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tests/gem_seqno_wrap.c b/tests/gem_seqno_wrap.c
index f354a52..8d94858 100644
--- a/tests/gem_seqno_wrap.c
+++ b/tests/gem_seqno_wrap.c
@@ -577,7 +577,7 @@ static void parse_options(int argc, char **argv)
};
strcpy(options.cmd, "");
- options.rounds = 50;
+ options.rounds = SLOW_QUICK(50, 2);
options.background = 0;
options.dontwrap = 0;
options.timeout = 20;
@@ -647,8 +647,6 @@ 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);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 8/8] tests: Add some tiled tests to the runs on simulation
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
` (6 preceding siblings ...)
2013-07-18 15:19 ` [PATCH 7/8] tests: Instrument gem_seqno_wrap to run in simulation Damien Lespiau
@ 2013-07-18 15:19 ` Damien Lespiau
2013-07-18 15:50 ` Provide a simulation friendly test environment v4 Daniel Vetter
8 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 15:19 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
tests/gem_tiled_pread.c | 2 --
tests/gem_tiled_pread_pwrite.c | 4 +---
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/tests/gem_tiled_pread.c b/tests/gem_tiled_pread.c
index 779f66f..189affc 100644
--- a/tests/gem_tiled_pread.c
+++ b/tests/gem_tiled_pread.c
@@ -134,8 +134,6 @@ 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 0eb7098..18a593a 100644
--- a/tests/gem_tiled_pread_pwrite.c
+++ b/tests/gem_tiled_pread_pwrite.c
@@ -123,10 +123,8 @@ 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;
+ count = SLOW_QUICK(intel_get_total_ram_mb() * 9 / 10, 8) ;
for (i = 0; i < count/2; i++) {
current_tiling_mode = I915_TILING_X;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Provide a simulation friendly test environment v4
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
` (7 preceding siblings ...)
2013-07-18 15:19 ` [PATCH 8/8] tests: Add some tiled tests to the runs on simulation Damien Lespiau
@ 2013-07-18 15:50 ` Daniel Vetter
2013-07-19 11:21 ` Damien Lespiau
8 siblings, 1 reply; 17+ messages in thread
From: Daniel Vetter @ 2013-07-18 15:50 UTC (permalink / raw)
To: Damien Lespiau; +Cc: intel-gfx
On Thu, Jul 18, 2013 at 04:19:05PM +0100, Damien Lespiau wrote:
> It was high time to follow up on:
> http://lists.freedesktop.org/archives/intel-gfx/2013-April/027361.html
>
> Changes from v2:
> • Take into account Daniel's comments and add the tests he listed
> • Actually runs on simulation now
lgtm overall, please push. One thing we might want to do is add a generic
drmtest_dummy_blt_load function which auto-tunes for simulation runs. Ever
time I need to reliably hit a seqno wait in a test somewhere I just
copy-paste that little bit of lore so we'll have a constant game of
whack-a-mole for those. With a helper it would Just Work.
Most other tests I've recently added are fairly small, so I guess we
should be fine by just adding them to the simulation enviroment test
cases.
Cheers, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 15:19 ` [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation() Damien Lespiau
@ 2013-07-18 16:18 ` Jesse Barnes
2013-07-18 16:31 ` Ben Widawsky
2013-07-18 16:42 ` Daniel Vetter
0 siblings, 2 replies; 17+ messages in thread
From: Jesse Barnes @ 2013-07-18 16:18 UTC (permalink / raw)
To: Damien Lespiau; +Cc: intel-gfx
On Thu, 18 Jul 2013 16:19:07 +0100
Damien Lespiau <damien.lespiau@intel.com> wrote:
> This will allow us to explicitely blacklist tests we don't want to run
> on simulation.
So FWIW I'll reiterate that I'd prefer to manage this in either the
Makefile target for the tests (e.g. have a single_kernel_sim_tests or
somesuch), or separate scripts altogether for running the different
types of tests, with specific subsets for running on simulation.
Having to sprinkle skip_on_simulation into the actual tests seems like
duplicated effort across every test.
For the cases where the args or iterations differ, it might be better
to simply take an argv for the values, and have the sim vs. full
scripts pass different values.
--
Jesse Barnes, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 16:18 ` Jesse Barnes
@ 2013-07-18 16:31 ` Ben Widawsky
2013-07-18 16:55 ` Damien Lespiau
2013-07-18 16:42 ` Daniel Vetter
1 sibling, 1 reply; 17+ messages in thread
From: Ben Widawsky @ 2013-07-18 16:31 UTC (permalink / raw)
To: Jesse Barnes; +Cc: intel-gfx
On Thu, Jul 18, 2013 at 09:18:34AM -0700, Jesse Barnes wrote:
> On Thu, 18 Jul 2013 16:19:07 +0100
> Damien Lespiau <damien.lespiau@intel.com> wrote:
>
> > This will allow us to explicitely blacklist tests we don't want to run
> > on simulation.
I agree with Jesse on this. Mostly what I've wanted is an "opt-in"
approach as opposed to an "opt-out" one. Such a thing is better
controlled via a Makefile target, or separate script. Generally I loathe
the idea of a separate script, but in a case like simulation where I'm
thinking we may want to impose higher level timeouts via kill... maybe
it's not so bad.
>
> So FWIW I'll reiterate that I'd prefer to manage this in either the
> Makefile target for the tests (e.g. have a single_kernel_sim_tests or
> somesuch), or separate scripts altogether for running the different
> types of tests, with specific subsets for running on simulation.
>
> Having to sprinkle skip_on_simulation into the actual tests seems like
> duplicated effort across every test.
More importantly, it's too easy to forget to add, or not know when it's
relevant to add. "Doesn't scale" as Daniel likes to say.
>
> For the cases where the args or iterations differ, it might be better
> to simply take an argv for the values, and have the sim vs. full
> scripts pass different values.
Time to develop our own programming language with for_each semantics :D
I'm okay with what we ended up on the iterators. It's somewhat ugly, but
I couldn't come up with anything less ugly, and the argv thing I think
just won't work well for some of the weirder tests.
>
> --
> Jesse Barnes, Intel Open Source Technology Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ben Widawsky, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 16:18 ` Jesse Barnes
2013-07-18 16:31 ` Ben Widawsky
@ 2013-07-18 16:42 ` Daniel Vetter
1 sibling, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2013-07-18 16:42 UTC (permalink / raw)
To: Jesse Barnes; +Cc: intel-gfx
On Thu, Jul 18, 2013 at 09:18:34AM -0700, Jesse Barnes wrote:
> On Thu, 18 Jul 2013 16:19:07 +0100
> Damien Lespiau <damien.lespiau@intel.com> wrote:
>
> > This will allow us to explicitely blacklist tests we don't want to run
> > on simulation.
>
> So FWIW I'll reiterate that I'd prefer to manage this in either the
> Makefile target for the tests (e.g. have a single_kernel_sim_tests or
> somesuch), or separate scripts altogether for running the different
> types of tests, with specific subsets for running on simulation.
We have lots of tests with subtests, and sometimes we might want to
exclude just a few of them, not all. Doing that at the Makefile level is a
bit too coarse imo.
> Having to sprinkle skip_on_simulation into the actual tests seems like
> duplicated effort across every test.
>
> For the cases where the args or iterations differ, it might be better
> to simply take an argv for the values, and have the sim vs. full
> scripts pass different values.
We have tons of tests meanwhile, if you want to run them with piglit
passing individual options with argv for each test doesn't scale better
imo than just baking those into the tests.
It's gonna suck a bit one way or the other I guess :(
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 16:31 ` Ben Widawsky
@ 2013-07-18 16:55 ` Damien Lespiau
2013-07-18 16:57 ` Jesse Barnes
2013-07-18 21:54 ` Daniel Vetter
0 siblings, 2 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-18 16:55 UTC (permalink / raw)
To: Ben Widawsky; +Cc: intel-gfx
On Thu, Jul 18, 2013 at 09:31:15AM -0700, Ben Widawsky wrote:
> On Thu, Jul 18, 2013 at 09:18:34AM -0700, Jesse Barnes wrote:
> > On Thu, 18 Jul 2013 16:19:07 +0100
> > Damien Lespiau <damien.lespiau@intel.com> wrote:
> >
> > > This will allow us to explicitely blacklist tests we don't want to run
> > > on simulation.
>
> I agree with Jesse on this. Mostly what I've wanted is an "opt-in"
> approach as opposed to an "opt-out" one. Such a thing is better
> controlled via a Makefile target, or separate script.
Well, for this one I'd like a slightly different approach. Actually have
a drmtest structure with metadata about the test. Something like:
#define DECLARE_SUBTEST(n, func, d) \
{ \
.name = n, \
.run = func, \
.data = d, \
}
enum drmtest_category {
TEST_DISPLAY = (1 << 0),
TEST_GT = (1 << 1),
TEST_CONTEXT = (1 << 2),
TEST_GEM = (1 << 3),
TEST_TORTURE = (1 << 31),
};
struct drm_subtest {
const char *name;
int (*run)(struct drm_test *test);
void *data;
};
struct drm_test {
const char *name;
int fd;
enum drmtest_category categories;
int subtests_nr;
struct drm_subtest *subtests;
};
and in the test:
struct drm_subtest subtests[] = {
DECLARE_SUBTEST("bad-close", test_bad_close, &test_data),
DECLARE_SUBTEST("create-close", test_create_close, &test_data),
DECLARE_SUBTEST("create-fd-close", test_create_fd_close, &test_data),
};
struct drm_test test = {
.name = "gem-basic",
.subtests = subtests,
.subtests_nr = ARRAY_SIZE(subtests),
};
(better macros possible)
and:
drmtest_init(&test, argc, argv);
drmtest_run(&test);
That'll allow you to do things like "please run all the context tests" for
instance.
But well, still quite far away, and it maybe quite hard/time consuming to
convert some tests to that.
--
Damien
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 16:55 ` Damien Lespiau
@ 2013-07-18 16:57 ` Jesse Barnes
2013-07-18 21:54 ` Daniel Vetter
1 sibling, 0 replies; 17+ messages in thread
From: Jesse Barnes @ 2013-07-18 16:57 UTC (permalink / raw)
To: Damien Lespiau; +Cc: Ben Widawsky, intel-gfx
On Thu, 18 Jul 2013 17:55:00 +0100
Damien Lespiau <damien.lespiau@intel.com> wrote:
> On Thu, Jul 18, 2013 at 09:31:15AM -0700, Ben Widawsky wrote:
> > On Thu, Jul 18, 2013 at 09:18:34AM -0700, Jesse Barnes wrote:
> > > On Thu, 18 Jul 2013 16:19:07 +0100
> > > Damien Lespiau <damien.lespiau@intel.com> wrote:
> > >
> > > > This will allow us to explicitely blacklist tests we don't want to run
> > > > on simulation.
> >
> > I agree with Jesse on this. Mostly what I've wanted is an "opt-in"
> > approach as opposed to an "opt-out" one. Such a thing is better
> > controlled via a Makefile target, or separate script.
>
> Well, for this one I'd like a slightly different approach. Actually have
> a drmtest structure with metadata about the test. Something like:
>
> #define DECLARE_SUBTEST(n, func, d) \
> { \
> .name = n, \
> .run = func, \
> .data = d, \
> }
>
> enum drmtest_category {
> TEST_DISPLAY = (1 << 0),
> TEST_GT = (1 << 1),
> TEST_CONTEXT = (1 << 2),
> TEST_GEM = (1 << 3),
> TEST_TORTURE = (1 << 31),
> };
>
>
> struct drm_subtest {
> const char *name;
> int (*run)(struct drm_test *test);
> void *data;
> };
>
> struct drm_test {
> const char *name;
> int fd;
> enum drmtest_category categories;
> int subtests_nr;
> struct drm_subtest *subtests;
> };
>
> and in the test:
>
> struct drm_subtest subtests[] = {
> DECLARE_SUBTEST("bad-close", test_bad_close, &test_data),
> DECLARE_SUBTEST("create-close", test_create_close, &test_data),
> DECLARE_SUBTEST("create-fd-close", test_create_fd_close, &test_data),
> };
>
> struct drm_test test = {
> .name = "gem-basic",
> .subtests = subtests,
> .subtests_nr = ARRAY_SIZE(subtests),
> };
>
> (better macros possible)
>
> and:
> drmtest_init(&test, argc, argv);
> drmtest_run(&test);
>
> That'll allow you to do things like "please run all the context tests" for
> instance.
>
> But well, still quite far away, and it maybe quite hard/time consuming to
> convert some tests to that.
>
Yeah that sounds like the ideal situation, so you can just run a set of
subtests for the stuff you're working on... It'll only get harder to
convert as we add more tests. :)
--
Jesse Barnes, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation()
2013-07-18 16:55 ` Damien Lespiau
2013-07-18 16:57 ` Jesse Barnes
@ 2013-07-18 21:54 ` Daniel Vetter
1 sibling, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2013-07-18 21:54 UTC (permalink / raw)
To: Damien Lespiau; +Cc: Ben Widawsky, intel-gfx
On Thu, Jul 18, 2013 at 05:55:00PM +0100, Damien Lespiau wrote:
> On Thu, Jul 18, 2013 at 09:31:15AM -0700, Ben Widawsky wrote:
> > On Thu, Jul 18, 2013 at 09:18:34AM -0700, Jesse Barnes wrote:
> > > On Thu, 18 Jul 2013 16:19:07 +0100
> > > Damien Lespiau <damien.lespiau@intel.com> wrote:
> > >
> > > > This will allow us to explicitely blacklist tests we don't want to run
> > > > on simulation.
> >
> > I agree with Jesse on this. Mostly what I've wanted is an "opt-in"
> > approach as opposed to an "opt-out" one. Such a thing is better
> > controlled via a Makefile target, or separate script.
>
> Well, for this one I'd like a slightly different approach. Actually have
> a drmtest structure with metadata about the test. Something like:
>
> #define DECLARE_SUBTEST(n, func, d) \
> { \
> .name = n, \
> .run = func, \
> .data = d, \
> }
>
> enum drmtest_category {
> TEST_DISPLAY = (1 << 0),
> TEST_GT = (1 << 1),
> TEST_CONTEXT = (1 << 2),
> TEST_GEM = (1 << 3),
> TEST_TORTURE = (1 << 31),
> };
>
>
> struct drm_subtest {
> const char *name;
> int (*run)(struct drm_test *test);
> void *data;
> };
>
> struct drm_test {
> const char *name;
> int fd;
> enum drmtest_category categories;
> int subtests_nr;
> struct drm_subtest *subtests;
> };
>
> and in the test:
>
> struct drm_subtest subtests[] = {
> DECLARE_SUBTEST("bad-close", test_bad_close, &test_data),
> DECLARE_SUBTEST("create-close", test_create_close, &test_data),
> DECLARE_SUBTEST("create-fd-close", test_create_fd_close, &test_data),
> };
>
> struct drm_test test = {
> .name = "gem-basic",
> .subtests = subtests,
> .subtests_nr = ARRAY_SIZE(subtests),
> };
>
> (better macros possible)
>
> and:
> drmtest_init(&test, argc, argv);
> drmtest_run(&test);
>
> That'll allow you to do things like "please run all the context tests" for
> instance.
>
> But well, still quite far away, and it maybe quite hard/time consuming to
> convert some tests to that.
More metaprogramming for subtest would certainly be nice, currently we use
a lot of add-hoc macro infrastructure. For a group of tests that just
share a bunch of helper functions but not the overall logic like kms_flip
approach used in prime quite a bit. Maybe we need a few different variants
to declare subtests ...
Not sure how useful the grouping of tests is, since the big usecase for
igt is to check for unrelated breakage imo. In any way we have lots of
room for improvement ;-) I've added a few points to our internal wiki for
infrastructure ideas around igt.
Cheers, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Provide a simulation friendly test environment v4
2013-07-18 15:50 ` Provide a simulation friendly test environment v4 Daniel Vetter
@ 2013-07-19 11:21 ` Damien Lespiau
0 siblings, 0 replies; 17+ messages in thread
From: Damien Lespiau @ 2013-07-19 11:21 UTC (permalink / raw)
To: Daniel Vetter; +Cc: intel-gfx
On Thu, Jul 18, 2013 at 05:50:55PM +0200, Daniel Vetter wrote:
> On Thu, Jul 18, 2013 at 04:19:05PM +0100, Damien Lespiau wrote:
> > It was high time to follow up on:
> > http://lists.freedesktop.org/archives/intel-gfx/2013-April/027361.html
> >
> > Changes from v2:
> > • Take into account Daniel's comments and add the tests he listed
> > • Actually runs on simulation now
>
> lgtm overall, please push. One thing we might want to do is add a generic
> drmtest_dummy_blt_load function which auto-tunes for simulation runs. Ever
> time I need to reliably hit a seqno wait in a test somewhere I just
> copy-paste that little bit of lore so we'll have a constant game of
> whack-a-mole for those. With a helper it would Just Work.
Right, so pushed this to progress forward a bit, generally agreed to
be torwards the right direction. i-g-t needs more work, but that'll
probably be always the case.
--
Damien
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2013-07-19 11:21 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-18 15:19 Provide a simulation friendly test environment v4 Damien Lespiau
2013-07-18 15:19 ` [PATCH 1/8] lib: Rename IGT_QUICK to INTEL_SIMULATION Damien Lespiau
2013-07-18 15:19 ` [PATCH 2/8] lib: Introduce drmtest_skip_on_simulation() Damien Lespiau
2013-07-18 16:18 ` Jesse Barnes
2013-07-18 16:31 ` Ben Widawsky
2013-07-18 16:55 ` Damien Lespiau
2013-07-18 16:57 ` Jesse Barnes
2013-07-18 21:54 ` Daniel Vetter
2013-07-18 16:42 ` Daniel Vetter
2013-07-18 15:19 ` [PATCH 3/8] lib: Remove old dead code intel_batchbuffer_emit_mi_flush() Damien Lespiau
2013-07-18 15:19 ` [PATCH 4/8] tests: Black list tests we don't want to run on simulation Damien Lespiau
2013-07-18 15:19 ` [PATCH 5/8] tests: Instrument tests run in simulation to run quickly Damien Lespiau
2013-07-18 15:19 ` [PATCH 6/8] tests: Instrument gem_lut_handle for simulation Damien Lespiau
2013-07-18 15:19 ` [PATCH 7/8] tests: Instrument gem_seqno_wrap to run in simulation Damien Lespiau
2013-07-18 15:19 ` [PATCH 8/8] tests: Add some tiled tests to the runs on simulation Damien Lespiau
2013-07-18 15:50 ` Provide a simulation friendly test environment v4 Daniel Vetter
2013-07-19 11:21 ` Damien Lespiau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox