summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-04-04 22:10:21 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-04-04 22:13:09 +0200
commite68652cad6ec46b8dacbf5360f20dd03afab3ec9 (patch)
tree53b61cf590346b2313bfeaa30394797b5aebfb02 /tests
parent272c8988079ce867f92bdf5df85f27ca46d15f27 (diff)
gem_stress: option to disable tiling
Of all the things I've tried, this seems to be the only thing to fix tile corruptions reliably on gen2&gen3 (safe for outright disabling the render copy). Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests')
-rw-r--r--tests/gem_stress.c13
-rw-r--r--tests/gem_stress.h1
2 files changed, 12 insertions, 2 deletions
diff --git a/tests/gem_stress.c b/tests/gem_stress.c
index 6c57bb25..ff75087f 100644
--- a/tests/gem_stress.c
+++ b/tests/gem_stress.c
@@ -448,6 +448,8 @@ static void init_set(unsigned set)
else
buffers[set][i].tiling = I915_TILING_NONE;
r >>= 2;
+ if (options.no_tiling)
+ buffers[set][i].tiling = I915_TILING_NONE;
if (buffers[set][i].tiling == I915_TILING_NONE) {
/* min 64 byte stride */
@@ -557,7 +559,8 @@ static void parse_options(int argc, char **argv)
{"gpu-busy-load", 1, 0, 'g'},
{"buffer-count", 1, 0, 'c'},
{"trace-tile", 1, 0, 't'},
- {"disable-render", 0, 0, 'r'}
+ {"disable-render", 0, 0, 'r'},
+ {"untiled", 0, 0, 'u'}
};
options.scratch_buf_size = 256*4096;
@@ -566,8 +569,9 @@ static void parse_options(int argc, char **argv)
options.num_buffers = 0;
options.trace_tile = -1;
options.use_render = 1;
+ options.no_tiling = 0;
- while((c = getopt_long(argc, argv, "ns:g:c:t:r",
+ while((c = getopt_long(argc, argv, "ns:g:c:t:ru",
long_options, &option_index)) != -1) {
switch(c) {
case 'd':
@@ -606,6 +610,11 @@ static void parse_options(int argc, char **argv)
case 'r':
options.use_render = 0;
printf("disabling render copy\n");
+ break;
+ case 'u':
+ options.no_tiling = 1;
+ printf("disabling tiling\n");
+ break;
default:
printf("unkown command options\n");
break;
diff --git a/tests/gem_stress.h b/tests/gem_stress.h
index 53ef8ebc..a2c3b50b 100644
--- a/tests/gem_stress.h
+++ b/tests/gem_stress.h
@@ -31,6 +31,7 @@ struct option_struct {
int no_hw;
int gpu_busy_load;
int use_render;
+ int no_tiling;
};
extern struct option_struct options;