From 218148d38afb636ef1aa90c8ef1a075af955e8c0 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 19 May 2022 16:11:24 -0400 Subject: [PATCH] pan/bi: Add ASSERT_SHADER_EQUAL macro Useful for whole-program unit tests. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bi_test.h | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/panfrost/bifrost/bi_test.h b/src/panfrost/bifrost/bi_test.h index e39aa006a6b..d43463cc33b 100644 --- a/src/panfrost/bifrost/bi_test.h +++ b/src/panfrost/bifrost/bi_test.h @@ -91,6 +91,17 @@ bit_shader_equal(bi_context *A, bi_context *B) return true; } +#define ASSERT_SHADER_EQUAL(A, B) \ + if (!bit_shader_equal(A, B)) { \ + ADD_FAILURE(); \ + fprintf(stderr, "Pass produced unexpected results"); \ + fprintf(stderr, " Actual:\n"); \ + bi_print_shader(A, stderr); \ + fprintf(stderr, " Expected:\n"); \ + bi_print_shader(B, stderr); \ + fprintf(stderr, "\n"); \ + } \ + #define INSTRUCTION_CASE(instr, expected, pass) do { \ bi_builder *A = bit_builder(mem_ctx); \ bi_builder *B = bit_builder(mem_ctx); \ @@ -103,15 +114,7 @@ bit_shader_equal(bi_context *A, bi_context *B) expected; \ } \ pass(A->shader); \ - if (!bit_shader_equal(A->shader, B->shader)) { \ - ADD_FAILURE(); \ - fprintf(stderr, "Pass produced unexpected results"); \ - fprintf(stderr, " Actual:\n"); \ - bi_print_shader(A->shader, stderr); \ - fprintf(stderr, "Expected:\n"); \ - bi_print_shader(B->shader, stderr); \ - fprintf(stderr, "\n"); \ - } \ + ASSERT_SHADER_EQUAL(A->shader, B->shader); \ } while(0) #endif