From f7c2dab5bd1284982343a31d315864906392f016 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Wed, 18 Jan 2012 17:51:48 +0100 Subject: [PATCH] gem_stress: move keep_gpu_busy stuff out of render copy functions Signed-off-by: Daniel Vetter --- tests/gem_stress.c | 13 ++++++++++++- tests/gem_stress.h | 2 -- tests/gem_stress_i830.c | 11 ----------- tests/gem_stress_i915.c | 11 ----------- 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/tests/gem_stress.c b/tests/gem_stress.c index 5fd30cb3..566f3a70 100644 --- a/tests/gem_stress.c +++ b/tests/gem_stress.c @@ -168,7 +168,7 @@ static void emit_blt(drm_intel_bo *src_bo, uint32_t src_tiling, unsigned src_pit /* All this gem trashing wastes too much cpu time, so give the gpu something to * do to increase changes for races. */ -void keep_gpu_busy(void) +static void keep_gpu_busy(void) { int tmp; @@ -322,6 +322,12 @@ static void render_copyfunc(struct scratch_buf *src, unsigned src_x, unsigned sr struct scratch_buf *dst, unsigned dst_x, unsigned dst_y, unsigned logical_tile_no) { + static unsigned keep_gpu_busy_counter = 0; + + /* check both edges of the fence usage */ + if (keep_gpu_busy_counter & 1) + keep_gpu_busy(); + if (IS_GEN2(devid)) gen2_render_copyfunc(batch, src, src_x, src_y, @@ -341,6 +347,11 @@ static void render_copyfunc(struct scratch_buf *src, unsigned src_x, unsigned sr blitter_copyfunc(src, src_x, src_y, dst, dst_x, dst_y, logical_tile_no); + if (!(keep_gpu_busy_counter & 1)) + keep_gpu_busy(); + + keep_gpu_busy_counter++; + intel_batchbuffer_flush(batch); } static void next_copyfunc(int tile) diff --git a/tests/gem_stress.h b/tests/gem_stress.h index ef7e963b..7547ac42 100644 --- a/tests/gem_stress.h +++ b/tests/gem_stress.h @@ -26,8 +26,6 @@ struct scratch_buf { unsigned num_tiles; }; -void keep_gpu_busy(void); - static inline void emit_vertex_2s(struct intel_batchbuffer *batch, int16_t x, int16_t y) { diff --git a/tests/gem_stress_i830.c b/tests/gem_stress_i830.c index dfd706cf..733bb72f 100644 --- a/tests/gem_stress_i830.c +++ b/tests/gem_stress_i830.c @@ -57,12 +57,6 @@ void gen2_render_copyfunc(struct intel_batchbuffer *batch, unsigned width, unsigned height, struct scratch_buf *dst, unsigned dst_x, unsigned dst_y) { - static unsigned keep_gpu_busy_counter = 0; - - /* check both edges of the fence usage */ - if (keep_gpu_busy_counter & 1) - keep_gpu_busy(); - /* invariant state */ { OUT_BATCH(_3DSTATE_MAP_CUBE | MAP_UNIT(0)); @@ -346,10 +340,5 @@ void gen2_render_copyfunc(struct intel_batchbuffer *batch, emit_vertex_normalized(batch, src_x, buf_width(src)); emit_vertex_normalized(batch, src_y, buf_height(src)); - if (!(keep_gpu_busy_counter & 1)) - keep_gpu_busy(); - - keep_gpu_busy_counter++; - intel_batchbuffer_flush(batch); } diff --git a/tests/gem_stress_i915.c b/tests/gem_stress_i915.c index 75d797fe..8280fc3f 100644 --- a/tests/gem_stress_i915.c +++ b/tests/gem_stress_i915.c @@ -7,12 +7,6 @@ void gen3_render_copyfunc(struct intel_batchbuffer *batch, unsigned width, unsigned height, struct scratch_buf *dst, unsigned dst_x, unsigned dst_y) { - static unsigned keep_gpu_busy_counter = 0; - - /* check both edges of the fence usage */ - if (keep_gpu_busy_counter & 1) - keep_gpu_busy(); - /* invariant state */ { OUT_BATCH(_3DSTATE_AA_CMD | @@ -182,10 +176,5 @@ void gen3_render_copyfunc(struct intel_batchbuffer *batch, emit_vertex(batch, src_x); emit_vertex(batch, src_y); - if (!(keep_gpu_busy_counter & 1)) - keep_gpu_busy(); - - keep_gpu_busy_counter++; - intel_batchbuffer_flush(batch); }