summaryrefslogtreecommitdiffstatsci
path: root/src
diff options
context:
space:
mode:
authorBryce Harrington <b.harrington@samsung.com>2014-07-01 10:52:16 -0700
committerBryce Harrington <b.harrington@samsung.com>2014-07-01 10:52:16 -0700
commit9d1052a1799d1c8dd998f276a5bbdd5067e57551 (patch)
treefade0916cc3eaa9e2b2306f33f1eac3bb0c0d4b3 /src
parent7cbba95b7628405a2457f9aecf2764c0502fc6ef (diff)
parent1021d0a53b4b496528441f27f819f7840df30ec0 (diff)
Merge pull request #117 from Samsung/Issue_106
Issue #106. Clear the screen to black between iterations.
Diffstat (limited to 'src')
-rw-r--r--src/cairo-util.cpp7
-rw-r--r--src/caskbench.cpp3
-rwxr-xr-xsrc/generate_tests4
-rw-r--r--src/skia-util.cpp6
-rw-r--r--src/tests.h3
5 files changed, 21 insertions, 2 deletions
diff --git a/src/cairo-util.cpp b/src/cairo-util.cpp
index 4317115..4cd7745 100644
--- a/src/cairo-util.cpp
+++ b/src/cairo-util.cpp
@@ -15,6 +15,13 @@
#include "caskbench_context.h"
void
+context_clear_cairo(caskbench_context_t *context)
+{
+ cairo_set_source_rgb (context->cairo_cr, 0, 0, 0);
+ cairo_paint (context->cairo_cr);
+}
+
+void
write_image_file_cairo (const char *fname, caskbench_context_t *context)
{
assert (context->cairo_surface);
diff --git a/src/caskbench.cpp b/src/caskbench.cpp
index 86f9989..541a2ac 100644
--- a/src/caskbench.cpp
+++ b/src/caskbench.cpp
@@ -663,6 +663,9 @@ main (int argc, char *argv[])
for (i=opt.iterations; i>0; --i) {
try {
assert(perf_tests[c].test_case);
+ // Clearing the canvas between iterations
+ perf_tests[c].context_clear(&context);
+
start_time = get_tick();
// Execute test_case
diff --git a/src/generate_tests b/src/generate_tests
index 54afac7..1736644 100755
--- a/src/generate_tests
+++ b/src/generate_tests
@@ -61,11 +61,11 @@ for source_file in $(ls ${source_dir}/cairo-tests/*.cpp); do
(cat <<EOF
#ifdef USE_CAIRO
{"cairo-${test}", ca_setup_${test}, ca_teardown_${test}, ca_test_${test},
- write_image_file_cairo, context_setup_cairo, context_destroy_cairo, context_update_cairo },
+ write_image_file_cairo, context_setup_cairo, context_destroy_cairo, context_update_cairo, context_clear_cairo },
#endif
#ifdef USE_SKIA
{"skia-${test}", sk_setup_${test}, sk_teardown_${test}, sk_test_${test},
- write_image_file_skia, context_setup_skia, context_destroy_skia, context_update_skia },
+ write_image_file_skia, context_setup_skia, context_destroy_skia, context_update_skia, context_clear_skia },
#endif
EOF
diff --git a/src/skia-util.cpp b/src/skia-util.cpp
index d3d4923..e0de879 100644
--- a/src/skia-util.cpp
+++ b/src/skia-util.cpp
@@ -17,6 +17,12 @@
#include "caskbench_context.h"
void
+context_clear_skia (caskbench_context_t *context)
+{
+ context->skia_canvas->drawColor(SK_ColorBLACK);
+}
+
+void
write_image_file_skia (const char *fname, caskbench_context_t *context)
{
SkBitmap bitmap;
diff --git a/src/tests.h b/src/tests.h
index 3aa6736..130eb69 100644
--- a/src/tests.h
+++ b/src/tests.h
@@ -18,6 +18,7 @@ typedef struct _caskbench_perf_test {
void (*context_setup)(struct _caskbench_context*, const device_config_t& config);
void (*context_destroy)(struct _caskbench_context*);
void (*context_update)(struct _caskbench_context*);
+ void (*context_clear)(struct _caskbench_context*);
} caskbench_perf_test_t;
extern caskbench_perf_test_t perf_tests[];
@@ -35,6 +36,8 @@ void context_destroy_skia(struct _caskbench_context *context);
void context_update_cairo(struct _caskbench_context *context);
void context_update_skia(struct _caskbench_context *context);
+void context_clear_cairo(struct _caskbench_context *context);
+void context_clear_skia(struct _caskbench_context *context);
#endif // __TESTS_H__
/*
Local Variables: