Mesa (master): i965: Test instruction compaction on gen7
Eric Anholt
anholt at kemper.freedesktop.org
Mon Sep 17 19:33:37 UTC 2012
Module: Mesa
Branch: master
Commit: 3e165ba62cd607c1a3402b7db52789fc37b6876c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e165ba62cd607c1a3402b7db52789fc37b6876c
Author: Eric Anholt <eric at anholt.net>
Date: Wed Sep 5 07:42:36 2012 -0700
i965: Test instruction compaction on gen7
---
src/mesa/drivers/dri/i965/brw_eu_compact.c | 3 +-
src/mesa/drivers/dri/i965/test_eu_compact.c | 30 ++++++++++++++++++--------
2 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c b/src/mesa/drivers/dri/i965/brw_eu_compact.c
index 881255e..90d1cdd 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_compact.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c
@@ -582,7 +582,8 @@ void brw_debug_compact_uncompact(struct intel_context *intel,
struct brw_instruction *orig,
struct brw_instruction *uncompacted)
{
- fprintf(stderr, "Instruction compact/uncompact changed:\n");
+ fprintf(stderr, "Instruction compact/uncompact changed (gen%d):\n",
+ intel->gen);
fprintf(stderr, " before: ");
brw_disasm(stderr, orig, intel->gen);
diff --git a/src/mesa/drivers/dri/i965/test_eu_compact.c b/src/mesa/drivers/dri/i965/test_eu_compact.c
index e9d4301..73351c3 100644
--- a/src/mesa/drivers/dri/i965/test_eu_compact.c
+++ b/src/mesa/drivers/dri/i965/test_eu_compact.c
@@ -256,13 +256,10 @@ struct {
{ gen_f1_MOV_GRF_GRF },
};
-int
-main(int argc, char **argv)
+static bool
+run_tests(struct brw_context *brw)
{
- struct brw_context *brw = calloc(1, sizeof(*brw));
- struct intel_context *intel = &brw->intel;
- intel->gen = 6;
- int ret = 0;
+ bool fail = false;
for (int i = 0; i < ARRAY_SIZE(tests); i++) {
for (int align_16 = 0; align_16 <= 1; align_16++) {
@@ -279,12 +276,12 @@ main(int argc, char **argv)
assert(p->nr_insn == 1);
if (!test_compact_instruction(p, p->store[0])) {
- ret = 1;
+ fail = true;
continue;
}
if (!test_fuzz_compact_instruction(p, p->store[0])) {
- ret = 1;
+ fail = true;
continue;
}
@@ -292,5 +289,20 @@ main(int argc, char **argv)
}
}
- return ret;
+ return fail;
+}
+
+int
+main(int argc, char **argv)
+{
+ struct brw_context *brw = calloc(1, sizeof(*brw));
+ struct intel_context *intel = &brw->intel;
+ intel->gen = 6;
+ bool fail = false;
+
+ for (intel->gen = 6; intel->gen <= 7; intel->gen++) {
+ fail |= run_tests(brw);
+ }
+
+ return fail;
}
More information about the mesa-commit
mailing list